Vue.js 定时器任务

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

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

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

参考来源:掘金社区

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,467评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,104评论 25 709
  • 我这段时间就情绪低落,天天如困兽般辗转反侧,因为我患了卵巢囊肿,且比较大,需要手术治疗,医生说是个简单的手术,但对...
    瓦全阅读 3,169评论 0 2
  • 1.在项目的project 的build.gredle 文件中的dependencies标签下添加加粗部分。 bu...
    singularit_bc15阅读 1,631评论 0 0
  • 一晃清明已过二旬,谷雨至。英雄茶事渐消,便着手梳理备忘之事。 事半,想起今年祭祖,回老家看到,当年嬉闹的村庄,已拆...
    烟花英雄阅读 1,787评论 0 2