书接上文哈

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

 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. angularJs同步请求

    今天在写几级联动的时候,因为比如上一个接口请求数据成功返回后,才能根据上一个接口返回的数据请求下一个接口,以此类推:因此有了同步请求的想法. 在前端做同步读取显然不是好的实践做法,同步之后会严重影响前 ...

  2. configure.ac:91: error: possibly undefined macro: AC_SEARCH_LIBS

    debian系统上,手动编译tmux的时候,执行./autogen.sh出现如下报错: $ ./autogen.sh configure.ac:: error: possibly undefined ...

  3. js实现复制 、剪切功能-clipboard.min.js 示例

    html: <div id="txt">我是要复制的内容</button> <button id="copyBtn">点击复 ...

  4. linux基础3-磁盘和文件系统相关

    一 dumpe2fs : 在Linux使用过程中,我们如果要了解文件系统的配置情况,可以使用dumpe2fs查看ext2/ext3/ext4格式的文件系统信息. 命令格式: dumpe2fs [选项] ...

  5. CentOS7 字体安装卸载

    CentOS7 默认安装有 Fonts 程序, 所以能直接双击打开字体文件, 并且可以直接点击上图的 Install 按钮安装字体.采用这种安装方法,字体会被安装在 ~/.local/share/fo ...

  6. wordpress网站不正常显示解决办法

    第一种:自己在后台修改了wordpress网址,导致不能登陆后台. 解决办法: 1.首先我们登录MySql数据库,这个不用我教吧: 2.查看表”wp_options”的数据(你的表不一定是以”wp”开 ...

  7. Java生成压缩文件(zip、rar 格式)

    jar坐标: <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</ar ...

  8. P3254——DP&&入门

    题目 给定一个$n \times m$的$01$矩形,选择其中为$1$的位置,要求互不相邻,问方案数. 解决方案 直接dp因为状态较多,数组很难直接表示出来,我们采用二进制状态压缩存储. 用$dp[i ...

  9. JavaScript三元运算符

    ㈠条件运算符也叫做三元运算符 ⑴语法:条件表达式?语句1:语句2: ⑵执行的流程: ①条件运算符在执行时,首先对条件表达式进行求值 ▶如果该值为true,则执行语句1,并返回执行结果 ▶如果该值为fa ...

  10. MFC 画字体DrawText()或TextOut(),CFont字体样式类

    新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数 void CMFCApplication27View::OnPaint() { CPai ...