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 相关文章推荐
js 获取浏览器高度和宽度值(多浏览器)
Sep 02 Javascript
web页面数据展示新想法(json)
Jun 08 Javascript
Ext JS添加子组件的误区探讨
Jun 28 Javascript
JS判断客服QQ号在线还是离线状态的方法
Jan 13 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
Dec 24 Javascript
javascript元素动态创建实现方法
May 13 Javascript
Bootstrap布局之栅格系统详解
Jun 13 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
Feb 15 Javascript
详解HTML5 使用video标签实现选择摄像头功能
Oct 25 Javascript
vue组件中使用props传递数据的实例详解
Apr 08 Javascript
AngularJS 多指令Scope问题的解决
Oct 25 Javascript
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 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
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
python实现贪吃蛇小游戏
2020/03/21 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
2017/06/15 HTML / CSS
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
好军嫂事迹材料
2014/01/15 职场文书
团拜会策划方案
2014/06/07 职场文书
法人授权委托书样本
2014/09/19 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
2019毕业典礼主持词!
2019/07/05 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python
对讲机的最大通讯距离是多少
2022/02/18 无线电