项目中碰到的问题。
组件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)
}
这里就引发了一个问题。
路由跳转发生后,上一个组件会被销毁。原有的组件都销毁了,为什么原组件中的定时器没有被清除掉呢?大家可以讨论下。
本文探讨了在前端开发中遇到的一个问题:当从组件A通过路由跳转到组件B时,即使组件A被销毁,其内部设置的定时器仍会继续执行。文中详细解释了如何利用Vue.js的生命周期钩子beforeDestroy来正确地清理定时器。
1279

被折叠的 条评论
为什么被折叠?



