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 相关文章推荐
加载jQuery后$冲突的解决办法
Jul 09 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
Aug 20 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
Jan 19 Javascript
JavaScript中的工厂函数(推荐)
Mar 08 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 Javascript
动态加载权限管理模块中的Vue组件
Jan 16 Javascript
Vue.js 动态为img的src赋值方法
Mar 14 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 Javascript
浅谈目前可以使用ES10的5个新特性
Jun 25 Javascript
JavaScript装饰者模式原理与用法实例详解
Mar 09 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
php面向对象 字段的声明与使用
2012/06/14 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
些很实用且必用的小脚本代码
2006/06/26 Javascript
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
python3实现短网址和数字相互转换的方法
2015/04/28 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
总经理秘书的岗位职责
2013/12/27 职场文书
《猫》教学反思
2014/02/26 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
代收款委托书范本
2014/10/01 职场文书
2014年优秀党员材料
2014/12/18 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
领导工作表现评语
2015/01/04 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android