关于vue-router路由跳转与setInterval的问题
Tip: 其实没打算发文章,主要是玩掘金块一年了,总想混点经验
let a = 3
this.timeInterval = setInterval(() => {
a-=1
if(a >= 0){
this.$router.push('/router');
}
}, 1000)
以上代码中有一个router跳转,虽然跳转了页面,但是因为vue是单页面应用所以定时器任务依旧存在没有销毁,所以发生一个问题:在A页面触发setInterval方法,跳转到B页面时,A的setInterval方法仍然继续执行
解决也很简单
beforeDestroy(){
clearInterval(this.timeInterval);
}