需求是这样, 要在 a 页面做一个定时刷新, 获取数据的功能;
结果, 在 a 页面实现之后, 跳到 b 页面, 发现在 b 页面也在不断请求数据, 这个是有问题的, 附上解决办法
如果有更好的办法, 欢迎留言
- // 离开当前页面时, 清除定时器
- data() {
- return {
- timeOut: ''
- }
- },
- methods: {
- ......
- },
- created() {
- // 页面初始的时候, 开始定时刷新
- this.timeOut = setInterval(this.getHomeInfo, 5000);
- },
- beforeRouteLeave(to, from, next) {
- clearInterval(this.timeOut);
- next();
- }
这里用到 beforeRouteLeave 的钩子函数, 在路由跳转之前, 将定时器清掉就可以了
来源: http://www.qdfuns.com/note/46360/829e1514c7b7a02aba4f7dd129c2f872.html