0%

vue定时器销毁

方案1:

1
2
3
4
5
6
7
8
9
10
11
12
data() {            
return {
timer: null // 定时器名称
}
},
this.timer = (() => {
// 某些操作
}, 1000)
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
}

方案2:

1
2
3
4
5
6
7
const timer = setInterval(() =>{                    
// 某些定时器操作
}, 500);
// 通过$once来监听定时器,在beforeDestroy钩子可以被清除。
this.$once('hook:beforeDestroy', () => {
clearInterval(timer);
})

参考文章vue组件里定时器销毁问题