1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue中销毁定时器

vue中销毁定时器

时间:2024-01-30 18:06:44

相关推荐

vue中销毁定时器

vue是单页面应用,路由切换后,定时器并不会自动关闭,需要手动清除,当页面被销毁时,清除定时器即可。

场景:在A.vue页面有一个定时a,然后跳转到B.vue页面,此时A页面的定时器a依然在运行。

解决方式一:

首先在data里进行定义定时器;

data() { return { timer: null // 定时器名称 } },

然后在mounted里使用定时器;

this.timer= setInterval(() => {// 操作method();}, 60000);

最后在beforeDestroy里清除定时器;

beforeDestroy() {if (this.timer) {clearInterval(this.timer);}},

解决方式二:

通过$once这个事件侦听器在定义完定时器之后的位置来清除定时器。

this.timer= setInterval(() => {// 操作method();}, 60000);// 通过$once来监听定时器,在beforeDestroy钩子可以被清除this.$once('hook:beforeDestroy', () => {clearInterval(this.timer);})

解决方式三:

beforeRouteLeave(to, from, next){next();if (this.timer) {clearInterval(this.timer);this.timer = null;}},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。