Vue清除定时器,延时器setIntederval,setTimeout的优化方案:
两种方案清除定时器,在开发过程中经常使用方案1,建议使用方案2,
方案1:
首先定义定时器名称:
复制代码
1
2
3
4
5
6data() { return { timer: null // 定时器名称 } },
使用定时器:
复制代码
1
2
3
4this.timer = setTimeout(() => { // 某些操作 }, 1000)
最后在beforeDestroy()生命周期内清除定时器:
复制代码
1
2
3
4
5beforeDestroy() { clearInterval(this.timer); this.timer = null; }
方案2:
该方法是通过$once这个事件侦听器器在定义完定时器之后的位置来清除定时器。以下是代码:
复制代码
1
2
3
4
5
6
7
8const timer = setInterval(() =>{ // 某些定时器操作 }, 500); // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。 this.$once('hook:beforeDestroy', () => { clearInterval(timer); })
最后
以上就是淡淡楼房最近收集整理的关于Vue清除定时器,延时器setIntederval,setTimeout的优化方案的全部内容,更多相关Vue清除定时器,延时器setIntederval,setTimeout内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复