收藏
回答

小程序不是数据驱动的吗?为啥我的页面没动静啊

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug 数据驱动 工具 2.1.1 2.1.1


做一个倒计时功能,可以返回添加时间,也可以到了30秒的时候弹框是否要添加时间。

我调试了好久 发现只有每过1秒存一次localstorage和setData是可以实现的,现在问题是我打印出来this.datas是在随着时间改变的,但页面就是没动静一直停留在3分56秒。请大神指点一下。

附上代码片段:wechatide://minicode/xIBuovm37jIz

最后一次编辑于  2018-06-28
回答关注问题邀请回答
收藏

2 个回答

  • 棉花糖
    棉花糖
    2018-06-28

    因为你的flag只执行一次定时器,可以在卸载页面的时候,清除定时器,onload里面在重启定时器。



    2018-06-28
    赞同 2
    回复 6
    • KEEP BURNING
      KEEP BURNING
      2018-06-28

      感谢大佬,问题解决。刚开始我总是在想怎么清除定时器,原来在onUnload事件里面清除最高效。谢谢您!

      还想请问下大佬,这种功能还有什么别的方法么,我刚开始试了好多种,都行不通

      2018-06-28
      回复
    • KEEP BURNING
      KEEP BURNING
      2018-06-28

      好像还是有个bug,那就是从logs页面手动点击到index页面的时候,倒计时是停止的。

      2018-06-28
      回复
    • KEEP BURNING
      KEEP BURNING
      2018-06-28

      您看这样行不行,我自始至终只执行一次定时器,定时器里面每次都从本地存储里面取时间,然后倒计时。我的代码片段思路是这样的,结果是this.data在随着时间改变,可是页面上没有动静。

      2018-06-28
      回复
    • 棉花糖
      棉花糖
      2018-06-28

      一般两个页面的数据要交互,不是利用app的globalData就是利用sessionstorage了。其他我也想不到了

      2018-06-28
      回复
    • 棉花糖
      棉花糖
      2018-06-29回复KEEP BURNING

      理论上是可以的,你在多测试几遍看看。

      我是直接在卸载logs页面同时直接清除定时器的。

      2018-06-29
      回复
    查看更多(1)
  • 不知
    不知
    2018-06-28

    是这样的, 第一次index->logs 后开始计时,minus是可以的,你在logs->index->logs后 logs 中

    这个计时是一直在运行中,但是你第二次进入logs


    这个判断是false

    2018-06-28
    赞同
    回复