Vue.js 定时器任务

在页面A中设置一个定时器,打印一个a,然后跳转到B页面,这个定时器还一直在执行,这样是非常耗性能的。
解决思路:
使用Vue的$once这个事件侦听器器在定义完定时器之后的位置来清除定时器
代码:

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

类似于其他需要在当前页面使用,离开需要销毁的组件(例如一些第三方库的picker组件等等),都可以使用此方式来解决离开后以后在背后运行的问题。

参考来源:掘金社区

你可能感兴趣的:(Vue.js 定时器任务)