收藏
回答

setData数据变了。但是页面的数据没有跟着变化?

我设置了一个定时器,每秒减少1

var t = this.data.sec-1

this.setData({'sec':t})

运行是正常的。我切换了页面再回来,我看定时器还是在运行。也在改变数据,但是页面的sec 就是一个初始值 没变化 是我哪里没写对还是没理解对

回答关注问题邀请回答
收藏

4 个回答

  • 栉风
    栉风
    06-02

    切页面你不回收定时器?

    06-02
    有用
    回复
  • 一骑白马开吴疆®
    一骑白马开吴疆®
    06-02
    Page({
      data:{
        sec:100
      }
      onLoad:function() {
        setInterval(()=>{
          let t = this.data.sec - 1;
          this.setData({ 'sec': t });
        },1000);
      }
    })
    
    06-02
    有用
    回复 2
    • 今天天气很好
      今天天气很好
      06-02
      Page({
        data:{
          sec:100
        }
        onLoad:function() {
      var that = this;
          setInterval(()=>{
            let t = that .data.sec - 1;
            that .setData({ 'sec': t });
          },1000);
        }
      })
      06-02
      回复
    • 一骑白马开吴疆®
      一骑白马开吴疆®
      06-02回复今天天气很好
      箭头函数this可以获取到,不需要转换
      06-02
      回复
  • 祺爸💎
    祺爸💎
    06-02

    这是多想不开啊,要在小程序上放倒计时

    06-02
    有用
    回复
  • 今天天气很好
    今天天气很好
    06-02
    • _o,路过,给你个简单的方法,把sec滞空后,然后再次赋值
    06-02
    有用
    回复 2
    • kevin
      kevin
      06-02
      可以写个简单的代码吗  滞空?清空还是
      06-02
      回复
    • 今天天气很好
      今天天气很好
      06-02回复kevin
      that .setData({ 'sec': ‘’ });
      setTimeout(()=>{ that.setData({ 'sec':t }) })
      06-02
      回复
登录 后发表内容
问题标签