宝哥软件园

路由前的vue路由事件组件中定时器的释放和清除方法

编辑:宝哥软件园 来源:互联网 时间:2021-08-29

背景

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

vue  定时器清除

vue  定时器清除

起初,我在组件内部声明了计时器(因为页面不多,数据关联不强,所以项目中不使用存储进行数据管理)。后来我清除的时候发现清除不了。后来我干脆在窗下声明了。然后在组件内部编写以下代码:

vue  定时器清除

我发现我无法清除计时器。后来去调试,发现完全没有进入这个方法。然后我问同事有没有遇到类似的问题。

解决

后来同事建议我把路由出发事件的代码放到配置了路由的接口中。我试了一下,成功了,计时器成功清零。

摘要

vue的BeforeRouteEnter和beforeRouteLeave必须写入配置了路由的接口中,写入接口调用的组件时不能触发。

如果vue不用store,定时器可以直接在window下声明,方便清零。

以上vue路由事件beforeRouteLeave和组件中定时器的清除方法都是边肖分享的内容,希望能给大家一个参考和支持。

更多资讯
游戏推荐
更多+