书接上文哈

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

 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中定义的哪个状态管理的相应的属性,从而

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

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

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

微信小程序之状态管理B的更多相关文章

  1. 微信小程序之状态管理A

    其实这个标题 不是很对 主要是最近小程序项目中 有这么一个状态 所有商品都共用一个商品详情页面  大概就是这样子  为了公司 保险起见,一些展示的内容已经处理 但是无伤大雅 就是这么两个按钮 左侧粉色 ...

  2. 微信小程序全局状态管理 wxscv

    微信小程序中,数据状态不同页面中不能跨页面同步更新,也就是缺失类似vuex,mobx,redux全局的数据状态管理功能. 有些人移植了这些库,但是毕竟不是微信小程序生态的东西. Tencent也发布了 ...

  3. 小程序全局状态管理,在页面中获取globalData和使用globalSetData

    GitHub: https://github.com/WozHuang/mp-extend 主要目标 微信小程序官方没有提供类似vuex.redux全局状态管理的解决方案,但是在一个完整的项目中各组件 ...

  4. 微信小程序登录状态

    我们知道,WEB服务器通过浏览器携带的cookie获取session来判断是否是同一用户(或浏览器):Restful服务通过客户端传过来唯一ID,来识别调用用户. >为什么需要维护登录态? 有自 ...

  5. 微信小程序——选中状态的切换

    加入购物车的时候,往往会有产品相关属性的选择,比如:尺寸,规格等.像我做的项目中,就有一个门店的选择,如下图: 我们如何做到当前点击的这个高亮呢?今天就讲一下如何实现这个功能. 思路: 1.定义一个高 ...

  6. 微信小程序 - 考试状态不同显示

    未开考 .已交卷. 考试中 .考试结束 #ddd      #f00     #ff0    默认禁用色 禁用的button仅有style起作用,四个状态,通过wx:if ... elif ... e ...

  7. 微信小程序根据状态换图

    在index.wxml中添加图片 <image bindtap="click" src="{{show?'/images/.png':'/images/.png'} ...

  8. 微信小程序学习指南

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  9. 微信小程序开发提升效率

    http://www.ifanr.com/minapp/790017 微信小程序的 API 实现需要兼顾方方面面,所以仍然使用 callback 写法. 众所周知,Callback-Hell(回调地狱 ...

随机推荐

  1. oracle的listagg函数

    今天需要将 BDST_ID相同的PROJECT_ID用逗号分隔拼成一个字符串,于是想到了oracle的listagg函数 表名为PM_BDST_PROJECT select tt.BDST_ID, l ...

  2. C++ STL 之 map

    #include <iostream> #include <map> using namespace std; // map构造函数 // map<T1, T2> ...

  3. ThinkPHP模板继承和修改title

    先说下模板继承: 假定:在View文件夹中 -> Public  公共模块 —>base/header/top/footer 4个html文件 这下面base文件使用include引入其他 ...

  4. safari同步google书签

    1 直接通过safari的导入书签,from chrome就可以了

  5. 去掉行尾的^M

    1. 处理掉行尾的^M 在windos下进行linux内核驱动编写,调试成功后需要集成到内核代码中去,所以会通过虚拟机共享文件夹拷贝到内核对应目录,这时候看源码文件还是没有异常的. 当对该文件进行回车 ...

  6. (十二)A64

    一.AC108驱动移植 1.驱动添加 cp r18/lichee/linux-4.4/sound/soc/codecs/ac108.* a64/linux-3.10/sound/soc/codecs/ ...

  7. (转)android(SignalA)接收.net(SignalR)推送过来的消息

    从网络上搜索到的Demo,自己进行了稍微的改动 Signala类库从https://github.com/erizet/SignalA获得,不过相关引用有错误,需要手动修正. 下载相关源码 packa ...

  8. PMM 监控 MySQL

    Percona Monitoring and Management (PMM)是一款开源的用于监控 MySQL 和 MongoDB 性能的开源平台,通过 PMM 客户端收集到的 DB 监控数据用第三方 ...

  9. php 5.6 与 php 7 的区别

    1. PHP7.0 比PHP5.6性能提升了两倍. 2.PHP7.0全面一致支持64位. 3.PHP7.0之前出现的致命错误,都改成了抛出异常. 4.增加了空结合操作符(??).效果相当于三元运算符. ...

  10. P1052 过河 题解

    复习dp(迪皮)的时候刷到了一道简单路径压缩的题目(一点不会qwq) 题目描述链接. 正解: 首先呢,我们看到题目,自然而然的会想到这种思路: 设状态变量dp[i]表示从第一个格子开始经过一些跳跃跳到 ...