vue2跳转页面时定时器不会被清除
程序开发
2023-09-03 09:38:59
1.之前的代码
created() {this.show_cur_times();this.timer = setInterval(this.show_cur_times, 1000);
},
beforeUnmount() {clearInterval(this.timer);
},
我在调用方法里面加了一个打印1,跳转以后还在一直打印,并没有清除定时器,这样会导致内容泄漏,影响性能。
通过 $once这个事件侦听器器来解决问题
this. $once(‘hook:生命周期’,callback),就可以监听到生命周期的变化了。
2.核心代码
this.$once("hook:beforeDestroy", () => {clearInterval(this.timer);});
3.修改过后的代码,解决问题
created() {this.show_cur_times();//跳转页面时清除定时器this.timer = setInterval(this.show_cur_times, 1000);// 通过$once来监听定时器,在beforeDestroy钩子可以被清除。this.$once("hook:beforeDestroy", () => {clearInterval(this.timer);});},
标签:
相关文章
-
无相关信息