VUE清除组件内部定时器

摘要:
只有在离开当前页面或用F5刷新后,它才会被清除。离开当前组件后,计时器不会被清除,因此我们需要手动清除计时器。然而,当我们将清除计时器clearInterval或clearTimeout写入组件的生命周期时,我们无法清除计时器。一些前辈让我们需要将清除计时器写入路由挂钩函数。注意,这里的路由函数需要写在当前组件下。

  定时器如果不手动清除,只会在离开当前页面或者F5刷新后才会清除。由于vue项目是SPA应用,离开当前组件后并不会清除定时器,所以需要我们手动去清除定时器。但当我们将清除定时器clearInterval或clearTimeout写入组件的生命周期destroyed内部时并不能清除定时器,直接写window.clearXXX也并不是很好使。网上查了好久,有前辈给出需要将清除定时器写在路由钩子函数里,注意这里的路由函数需要写在当前组件下。下面给代码:

VUE清除组件内部定时器第1张

这里注意我是使用setTimeout内调用setTimeout来实现setInterval的效果(好处自己百度去)。红色框的变量不用管等会再说。上面是定时器的代码,下面给出离开组件时清除定时器的代码

VUE清除组件内部定时器第2张

这里的isDestroyed变量在离开组件前设为true,清除定时器。

免责声明:文章转载自《VUE清除组件内部定时器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Appium之解锁九宫格学习C#——性能计数器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java线上应用故障排查之一:高CPU占用

转自: http://blog.csdn.net/blade2001/article/details/9065985 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen) 以我们最近出现的一个实际故障...

详解vue 路由跳转四种方式 (带参数)

详解vue 路由跳转四种方式 (带参数):https://www.jb51.net/article/160401.htm 1.  router-link ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. 不带参数  <router-link :to="{name:'home'}">...

phpstorm 使用 Xdebug 调试代码

用过Java、C#等静态语言的同学调试代码经常是打个断点,然后轻松调试,而PHPer调试代码时经常是 echo $a;exit; 非常的不方便,有的同学有时候打完断点没删就给commit上去了,这就造成了很多困扰,有没有办法更优雅的调试呢?那当然有的,这里用到一个PHP模块xdebug,xdebug安装教程,使用它进行PHP代码调试,能有效减少工作量和B...

linux命令---awk进阶

awk编程:    1.  变量:    在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义。变量的类型可以是数字、字符串。根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文。下面为变量的赋值负号列表: 符号 含义 等价形式 = a = 5 a = 5 += a = a + 5 a += 5...

javase:习题

1、下来说法正确的是? A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 public class Mytest { public class Animal{ } public class Plants{ } }...

Android面试经验汇总(一)

1. Runnable     java中有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口。     (a)用Thread类实现       publicclassThreadDemoextendsThread{            publicvoidrun() {                // do somethi...