计数器停止按钮怎么可以生效

问题遇到的现象和发生背景

停止按钮使用不了

运行结果及报错内容

img

img

我想要达到的结果

停止按钮生效

你start里 应该也调用一下this.setData({x:this.data.x}) 放到 定时器下面 。
end 里 也调用this.setData({x:null})

这样试试看。

Page({
  data: {
    jishu: 0,
    x: "" //用来存储定时的计数器
  },
  start() {
    var that = this
    // 目前推测是多次点击 创建多次interval事件 导致停止只能停止最后一次 产生的问题
    // 每次创建interval执行前需要停止上一个interval事件
    this.end();
    that.data.x = setInterval(
      function () {
        that.setData({ jishu: that.data.jishu + 1 })
      }, 1000)
  },
  end() {
    clearInterval(this.data.x)
  },
  qk() {
    this.setData({ jishu: this.data.jishu = 0 })
  },
  // 防止离开页面依然执行interval事件
  onUnload(){
    this.end()
  }
})