Vue清除所有JS定时器
Vue清除所有JS定时器
在webpack + vue 的项目中如何在页面跳转的时候清除所有的定时器
JS定时器会有一个返回值(数字),通过这个返回值我们可以找到这个定时器
在vue项目中可以使用路由守卫的 beforeEach方法,来进行清除功能
首先,声明一个全局变量数组,把所有的定时器的返回值放到数组中,
(因为定时器返回的值会随着调用次数的增加而增加,所以无法确定的去判断返回值具体是多少,只有接收这个返回值,然后进行操作。)
然后在每次要跳转进入新页面的时候,通过beforeEach方法,把旧页面的定时器全部清除
//声明数组,接收定时器的返回值
const timerCount = [];
//设置定时器
timerCount[0] = setInterval(function () {
    //....
},1000)
timerCount[1] = setInterval(function () {
    //....
},1000)
//入口文件
router.beforeEach((to, from, next) => {
    for(let i = 0; i <= timerCount.length; i++){
        clearInterval(timerCount[i]);
    }
    timerCount.splice(0, timerCount.length)
    next()
})
//使用clearInterval(i)可以清除指定的定时器,其中参数i是定时器的返回值
//这里每次都把数组清除了,当然,不清楚也没有什么影响
这样,页面所有的定时器,就全部清除了
Vue清除所有JS定时器的更多相关文章
- VUE清除组件内部定时器
		定时器如果不手动清除,只会在离开当前页面或者F5刷新后才会清除.由于vue项目是SPA应用,离开当前组件后并不会清除定时器,所以需要我们手动去清除定时器.但当我们将清除定时器clearInterval ... 
- 清除定时器 和 vue 中遇到的定时器setTimeout & setInterval问题
		2019-03更新 找到了更简单的方法,以setinterval为例,各位自行参考 mounted() { const that = this const timer = setInterval(fu ... 
- js定时器的使用(实例讲解)
		在javascritp中,有两个关于定时器的专用函数,分别为: 1.倒计定时器:timename=setTimeout("function();",delaytime);2.循环定 ... 
- js定时器 特定时间执行某段程序的例子
		定时器想必大家并不陌生吧,在本文为大家详细介绍下js中是如何实现定时器的,具体原理及代码如下. 例子: $(function(){ var handler = function(){ //www.jb ... 
- vue项目中主要文件的加载顺序(index.html、App.vue、main.js)
		先后顺序: index.html > App.vue的export外的js代码 > main.js > App.vue的export里面的js代码 > Index.vue的ex ... 
- js定时器setInterval()与setTimeout()
		js定时器setInterval()与setTimeout() 1.setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression,setT ... 
- js定时器关闭,js定时器停止,一次关闭所有正在运行的定时器,自定义函数clearIntervals()一次关闭所有正在运行的定时器
		js定时器关闭,一次关闭所有正在运行的定时器,自定义函数clearIntervals()一次关闭所有正在运行的定时器,原理:利用数组存储定时器id,然后遍历数组,关闭定时器 附上页面的截图,代码在截图 ... 
- JS定时器做物体运动
		JS定时器是函数 setInterval(函数体/函数名 , 时间) 清楚定时器 clearInterval(函数) 时间单位(毫秒) 1000毫秒 = 1秒 首先我们要知道用JS定时器能干什么? ... 
- js定时器 离开当前页面任然执行的问题
		今天在博客上看到有人问 js定时器-----离开当前页面原本匀速运动的div加速了,回到页面若干时间恢复匀速??? 他是js定时器控制一个盒子做旋转动画 离开页面后js还在执行 但是盒子这个dom却被 ... 
随机推荐
- 【Supervised Learning】支持向量机SVM  (to explain Support Vector Machines (SVM) like I am a 5 year old )
			Support Vector Machines 引言 内核方法是模式分析中非常有用的算法,其中最著名的一个是支持向量机SVM 工程师在于合理使用你所拥有的toolkit 相关代码 sklearn-SV ... 
- python SQLAchemy外键关联
			join 1.利用filter import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarati ... 
- python 多进程数据交互及共享
			多线程和多进程最大的不同在于,多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最 ... 
- 实验三:klee的执行重现机制(示例分析)
			结论性内容: (1)如果是在程序中使用klee_make_symbolic,则可以使用下列脚本进行重现. export LD_LIBRARY_PATH=/home/klee/xiaojiework/k ... 
- a标签在实际工作中的应用
			学习的时候,我们对a标签的认知: 1.href属性添加一个地址,可进行页面的跳转 2.用锚点,制作页面内跳转和跨页面跳转(之前有写过一篇关于锚点的随笔:http://www.cnblogs.com/q ... 
- C# 时间格式(血淋淋的教训啊。。。)
			今天做项目是,调用其他项目的接口,需要传递时间及包含时间的一些其他参数的签名.总是返回时间格式粗误. 我的时间格式为:var CallTime = DateTime.Now.ToString(&quo ... 
- OC基础数据类型-NSNumber
			1.NSNumber:专门用来装基础类型的对象,把整型.单精度.双精度.字符型等基础类型存储为对象 //基本数据类型 //专门用来装基础类型的对象 NSNumber * intNumber = [[N ... 
- IOS 上传下载
			下载地址:https://github.com/samsoffes/ssziparchive 注意:需要引入libz.dylib框架 // Unzipping NSString *zipPath = ... 
- 关于项目中的DAL数据接入层架构设计
			摘要:项目中对关系型数据库的接入再寻常不过,也有海量的ORM工具可供选择,一个一般性的DAL数据接入层的结构却大同小异,这里就分享一下使用Hibernate.Spring.Hessian这三大工具对D ... 
- D3——动态绑定数据
			一.绑定数组元素 , , , , ]; d3.select("body") .selectAll("p") .data(dataset) .enter() .a ... 
