解决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实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
javascript 框架小结 个人工作经验
Jun 13 Javascript
javascript 24小时弹出一次的代码(利用cookies)
Sep 03 Javascript
Jquery 表单取值赋值的一些基本操作
Oct 11 Javascript
JS获取时间的方法
Jan 21 Javascript
jquery实现简单的全选和反选功能
Jan 02 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 Javascript
JavaScript数组去重算法实例小结
May 07 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
Apr 30 Javascript
vue element-ui实现input输入框金额数字添加千分位
Dec 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
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
php whois查询API制作方法
2011/06/23 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
python判断字符串是否纯数字的方法
2014/11/19 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
Python3模拟登录操作实例分析
2019/03/12 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python实现图像拼接
2020/03/05 Python
浅析python标准库中的glob
2020/03/13 Python
基于Python绘制个人足迹地图
2020/06/01 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
学生上课看漫画的检讨书
2014/09/26 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
vue实现拖拽交换位置
2022/04/07 Vue.js