收藏
回答

循环调用倒计时自定义组件时,只有最后一个会执行,并且调用几次就会一下跳几秒?

代码片段

https://developers.weixin.qq.com/s/GSjXzCmI7BH5



index.js 定义倒计时秒数

data: {
    list: [
      { time900 },
      { time600 },
      { time300 },
      { time800 },
    ]
  },
index.wxml

  


倒计时自定义组件中接收数据
 properties: {
    title: {
      type: String,
      value: '倒计时',
      observer(n, o, c) {}
    },
    time: {
      type: Number,
      value: 0,
      observer(n, o, c) {}
    }
  },
倒计时自定义组件中的方法
countdowns(){
      var timeNow = that.data.timeNow; //properties接收的time赋值给data中的timeNow
      var minute=Math.floor(timeNow  / 60 );
      var second=timeNow  % 60
      second<10?second='0'+second:'';
      that.setData({
          countdown:minute+'分'+second+'秒',
          timeNow: that.data.timeNow-1
      })
      setTimeout(that.countdowns, 1000);
    },


其中取到的秒数也很奇怪,救一下

最后一次编辑于  2023-04-20
回答关注问题邀请回答
收藏

1 个回答

  • 九歌^
    九歌^
    2023-04-20

    给你改了下:

    https://developers.weixin.qq.com/s/qdmheCmK7wHf


    然后你说的调用几次就会一下跳几秒,是因为你启了定时器,刷新的时候并没有被停掉。你没有调用cleartimeout


    2023-04-20
    有用 1
    回复 1
    • 福尔摩君
      福尔摩君
      2023-04-20
      谢谢!
      2023-04-20
      回复
登录 后发表内容