vue中使用$once清除定时器
清理定时器的方法
在 vue 项目中,通常采用两种方法清理定时器,如下。
方法一:定义 data 中定义 timer
首先在 vue 实例的data
中定义定时器的名称;然后在方法methods
或者页面初始化mounted()
的时候使用定时器;最后在页面销毁的生命周期函数beforeDestroy()
中销毁定时器。
1 | export default{ |
方法二:监听事件 hook:beforeDestroy
使用this.$once(‘hook:beforeDestory’,()=>{})
,直接在需要定时器的方法或者生命周期函数中声明,并销毁。
1 | export default { |
总结
方法一需要定义定时器的实例,相对多余,而且定时器的销毁和创建代码没放一起,容易忘记清除定时器。因此推荐使用方法二。