做一个倒计时功能,可以返回添加时间,也可以到了30秒的时候弹框是否要添加时间。
我调试了好久 发现只有每过1秒存一次localstorage和setData是可以实现的,现在问题是我打印出来this.datas是在随着时间改变的,但页面就是没动静一直停留在3分56秒。请大神指点一下。
附上代码片段:wechatide://minicode/xIBuovm37jIz
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | 数据驱动 | 工具 | 2.1.1 | 2.1.1 |
做一个倒计时功能,可以返回添加时间,也可以到了30秒的时候弹框是否要添加时间。
我调试了好久 发现只有每过1秒存一次localstorage和setData是可以实现的,现在问题是我打印出来this.datas是在随着时间改变的,但页面就是没动静一直停留在3分56秒。请大神指点一下。
附上代码片段:wechatide://minicode/xIBuovm37jIz
2 个回答
因为你的flag只执行一次定时器,可以在卸载页面的时候,清除定时器,onload里面在重启定时器。
感谢大佬,问题解决。刚开始我总是在想怎么清除定时器,原来在onUnload事件里面清除最高效。谢谢您!
还想请问下大佬,这种功能还有什么别的方法么,我刚开始试了好多种,都行不通
好像还是有个bug,那就是从logs页面手动点击到index页面的时候,倒计时是停止的。
您看这样行不行,我自始至终只执行一次定时器,定时器里面每次都从本地存储里面取时间,然后倒计时。我的代码片段思路是这样的,结果是this.data在随着时间改变,可是页面上没有动静。
一般两个页面的数据要交互,不是利用app的globalData就是利用sessionstorage了。其他我也想不到了
理论上是可以的,你在多测试几遍看看。
我是直接在卸载logs页面同时直接清除定时器的。
是这样的, 第一次index->logs 后开始计时,minus是可以的,你在logs->index->logs后 logs 中![]()
这个计时是一直在运行中,但是你第二次进入logs
这个判断是false