小程序组件中无法清除定时器
1.把定时器设置为全局变量(保存在data里面)
2.在lifetimes-->detached里面清除定时器
lifetimes: { attached: function() { this.addInterval(); }, detached: function() { // 在组件实例被从页面节点树移除时执行 clearInterval(this.data.timeOut)//清除定时器 }, }, methods: { addInterval(e){ //当e==remove时,把原来的定时器删掉 const {timeNum}=this.properties; this.setData({time:timeNum}) //设置倒计时十秒钟 if(e!="remove"){ var timeOut=setInterval(() => { if(this.data.time==0||e=="remove") { clearInterval(timeOut); this.triggerEvent(\'timeEnd\',{},{}) return } this.setData({time:this.data.time-1}) }, 1000); this.setData({timeOut:timeOut}) } },
请发表评论