vue路由事件beforeRouteLeave及组件内定时器的清除方法


Posted in Javascript onSeptember 29, 2018

背景

之前在做ADTS项目的时候,首页是一个实时监测的页面,需要每隔5秒更新一次数据,而业务逻辑上的需要先请求告警列表的接口的,从告警列表中拿到数据再去获取其他的数据,所以我在获取告警列表的方法中增加了一个定时器。

vue路由事件beforeRouteLeave及组件内定时器的清除方法

vue路由事件beforeRouteLeave及组件内定时器的清除方法

最开始我是将定时器声明在组件内部的(由于页面不多,数据关联也不太强,所以项目中没有使用store进行数据管理),后来清除的时候发现无法清除,后来索性声明到window下了。然后在组件内部写了如下代码:

vue路由事件beforeRouteLeave及组件内定时器的清除方法

发现也没能将定时器清除,后来走debug发现根本就没有进到这个方法中去,然后就去问同事有没有遇到过类似的问题。

解决

后来同事建议我将路由离开事件的代码放到配置了路由的界面中,我试了一下,果然好使,定时器成功清除。

总结

vue的beforeRouteEnter和beforeRouteLeave都要写在配置了路由的界面中才能出发,写在界面所调用的组件内部无法触发。

vue如果没有使用store的话设置定时器可以直接声明在window下,便于清除。

以上这篇vue路由事件beforeRouteLeave及组件内定时器的清除方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中的delete介绍
Sep 02 Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 Javascript
js实现星星打分效果的方法
Jul 05 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
Aug 01 Javascript
微信小程序 倒计时组件实现代码
Oct 24 Javascript
根据Bootstrap Paginator改写的js分页插件
Dec 25 Javascript
基于bootstrap风格的弹框插件
Dec 28 Javascript
javascript中递归的两种写法
Jan 17 Javascript
详解React之父子组件传递和其它一些要点
Jun 25 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
Oct 12 Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 Javascript
vue2.0 watch里面的 deep和immediate用法说明
Oct 30 Javascript
在vue中v-bind使用三目运算符绑定class的实例
Sep 29 #Javascript
iview同时验证多个表单问题总结
Sep 29 #Javascript
浅谈关于iview表单验证的问题
Sep 29 #Javascript
Vue路由history模式解决404问题的几种方法
Sep 29 #Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 #Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 #Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 #Javascript
You might like
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
写的htc的数据表格
2007/01/20 Javascript
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
js闭包实例汇总
2014/11/09 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
python局部赋值的规则
2013/03/07 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Python实现读取并保存文件的类
2017/05/11 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
Django框架models使用group by详解
2020/03/11 Python
python中线程和进程有何区别
2020/06/17 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
python基于win32api实现键盘输入
2020/12/09 Python
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
房产代理公证处委托书
2014/04/04 职场文书
社区志愿者活动方案
2014/08/18 职场文书
召开会议通知范文
2015/04/15 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
mysql幻读详解实例以及解决办法
2022/06/16 MySQL