vue路由跳转 定时器 没有清掉 ?
项目中碰到的问题。组件A页面一加载,执行一个定时器,往控制台打印1created:function() {this.t = window.setInterval(this.cons,1000)},methods:{cons () {console.log(1)}}组件A能跳转到组件B,使用router-link 完成跳转。此时在B组件页面...
·
项目中碰到的问题。
组件A
页面一加载,执行一个定时器,往控制台打印1
created:function() {
this.t = window.setInterval(this.cons,1000)
},
methods:{
cons () {
console.log(1)
}
}
组件A能跳转到组件B,使用router-link 完成跳转。
此时在B组件页面中发现,原A组件的定时器依然在执行。
网上找到了方法,给A组件添加销毁前的钩子函数,在A组件销毁前关闭掉定时器
beforeDestroy () {
clearInterval(this.t)
}
这里就引发了一个问题。
路由跳转发生后,上一个组件会被销毁。原有的组件都销毁了,为什么原组件中的定时器没有被清除掉呢?大家可以讨论下。
更多推荐
已为社区贡献11条内容
所有评论(0)