解决vue组件销毁之后计时器继续执行的问题


Posted in Javascript onJuly 21, 2020

直接上代码,以下

window.setTimeout(function(){
 if(this && !this._isDestroyed){ //_isDestroyed 组件是否被销毁
  return;
 }
 window.location.href = "/serverMonitor?t="+ new Date().getTime();
},5000)

很粗暴的方法,在执行之前看是否被销毁就行,

第二种方法,调用路由组件内的钩子函数beforeRouteLeave

beforeRouteLeave(to,from,next){
clearTimeout(window.timer);
next();
}

补充知识:vue销毁时事件,created和mounted&&activated的区别

我就废话不多说了,大家还是直接看代码吧~

// 关闭当前页面就会销毁监听事件(checkpay)
destroyed() {
 clearInterval(this.checkpay)
}
created()在创建vue对象时,在html渲染之前就触发;但是注意created()只会触发一次; mounted()在html渲染完成之后才会执行的;
 activated()进入当前存在activated()函数的页面时,一进入页面就触发;可用于初始化页面数据等

以上这篇解决vue组件销毁之后计时器继续执行的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 学习之旅 (2)
Feb 05 Javascript
javascript学习笔记(八) js内置对象
Jun 19 Javascript
c#程序员对TypeScript的认识过程
Jun 19 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
Nov 04 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
Jan 10 Javascript
JS查找数组中重复元素的方法详解
Jun 14 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
Jun 19 Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
如何实现echarts markline标签名显示自己想要的
Jul 20 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
javascript实现点击小图显示大图
Nov 29 Javascript
vue 实现setInterval 创建和销毁实例
Jul 21 #Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
Jul 21 #Javascript
Vue清除定时器setInterval优化方案分享
Jul 21 #Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
Jul 21 #Javascript
JavaScript undefined及null区别实例解析
Jul 21 #Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
Jul 21 #Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
Jul 21 #Javascript
You might like
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
PHP getName()函数讲解
2019/02/03 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
js返回顶部实例分享
2016/12/21 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Python下载的11种姿势(小结)
2020/11/18 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
中东奢侈品市场:Coveti
2019/05/12 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
反腐倡廉演讲稿
2014/05/22 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书
Python 正则模块详情
2021/11/02 Python
Redis数据同步之redis shake的实现方法
2022/04/21 Redis
mysql幻读详解实例以及解决办法
2022/06/16 MySQL