zoukankan      html  css  js  c++  java
  • 微信小程序之状态管理B

    书接上文哈

    咱们定义了个状态管理对象 逻辑应该是这样的

     if (json.product.activity.type == "Coin1") {
                    this.activity.coin1Show = now > json.product.activity.preAt && now < json.product.activity.postAt
                }
    
                if (this.activity.coin1Show) {
                    this.activity.unStart = now < json.product.activity.startAt;
                    this.activity.ended = now > json.product.activity.endAt;
                    this.activity.doing = this.activity.unStart == false && this.activity.ended == false;
                }
    
                this.activity = this.activity;

    preAt 为活动开始提前的时间

    postAt为活动开始延后的时间

    也就是 如果商品属于咱们的活动当中 ok,那咱们判断下当前时间 是不是满足这个两个条件, 如果满足那么this.activity.coin1Show = true

    为ture是什么意思?意思就是活动按钮出现了啊,忘记的可以看一下微信小程序之状态管理A中的代码段,默认值为false,然后让按钮是否出现也按照这个条件判断

     只要确定了活动按钮的出现的时间 那么其余的条件就好判断了  

    上文中的图还有印象么?就是这样的

    所以说 按钮只要出来了,其余的条件就在 当按钮出来后的逻辑里面再次判断

    当前时间是属于哪个节点的,利用逻辑后的true 和false来赋值我们在page——data——activity中定义的哪个状态管理的相应的属性,从而

    让活动按钮什么时候展示相应的状态。

    小弟不才,文笔不好,思路是依据公司的大牛的思路自己整理的,因为我做的这个 真是惨不忍睹,所以被重构了一次,但是,咱不得总结么 是不是,所以以此文 来记录下我的成长 哈哈哈

    若能帮助到您 那就更好了,也希望大家多多积累,才会进步

  • 相关阅读:
    运行JBoss 5.1.0 GA时出现Error installing to Instantiated:name=AttachmentStore state=Described错误的解决办法
    java中log4j的使用体验
    C#:DataTable映射成Model
    使用MyBatis搭建一个访问mysql数据库的简单示例
    netty的拆包和粘包
    netty的HelloWorld演示
    ByteBuffer详解
    汉字拼音缩写输出工具类
    mysql错误汇集
    mysql的定时任务
  • 原文地址:https://www.cnblogs.com/wzy0526/p/8432793.html
Copyright © 2011-2022 走看看