vue一分钟刷新下这个方法,这样写是否就不用清除定时器了,该怎么清除呢,getDataList有两个接口,一个是本页面的,一个是子组件的,只刷新这两个接口这样写可行吗?
this.timer = setInterval(() => {
setTimeout(() => {
this.getDataList();
},0)
}, 60000)
vue一分钟刷新下这个方法,这样写是否就不用清除定时器了,该怎么清除呢,getDataList有两个接口,一个是本页面的,一个是子组件的,只刷新这两个接口这样写可行吗?
this.timer = setInterval(() => {
setTimeout(() => {
this.getDataList();
},0)
}, 60000)
setInterval
又要 setTimeout
?每分钟都刷新的话 setInterval
就够了。10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.2k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
如果页面中不清除定时器,那么可能会存在一下问题:
所以定时器还是需要清除的,在当前页面卸载前清掉就可以了
但是以上写法可能和业务逻辑就有点脱节,因为创建和删除在两个地方,所以推荐一下写法:
如果组件使用了
keep-alive
,还需注意声明周期,keep-alive
包裹下的组件,后续进入和离开activated --> deactivated
,因此需要写成deactivated
。