要实现的功能:
1. 当我初次打开一个页面时,就开始循环执行定时任务,定时刷新页面列表;
2. 当我离开或关闭当前页面时,销毁定时器任务;
3. 当我再一次进入打开的页面时,又开始循环执行定时任务。
因为页面之间是路由跳转,所以用beforeDestroy方法并不能执行销毁定时器。所以我使用的是监听路由跳转来操作。
mounted() {
// 初次打开页面执行获取列表方法和定时任务
this.getNatRule(); // methods里的方法
this.timer = setInterval(() => {
this.getNatRule();
}, 60e3);
},
watch: {
// from-从哪里来,to-到哪里去
$route(to, from) {
if (to.path == "/nat/status") {
// 循环执行定时器操作,1分钟循环一次
this.timer = setInterval(() => {
this.getNatRule();
}, 60e3);
} else if (from.path == "/nat/status") {
// 销毁循环执行定时器
clearInterval(this.timer);
}
}
}
本文介绍了一种在前端开发中实现页面定时刷新的方法,并通过监听路由变化来控制定时任务的启动与停止,确保资源的有效利用。
2635

被折叠的 条评论
为什么被折叠?



