vue中使用keep-alive保留当前用户操作,保留组件的状态不重新渲染,路由变化后destroyed并没有销毁setInterval
当组件在keep-alive中切换,它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行。
将setInterval 写在activated中,清除setInterval方法写在deactivated,完美结局路由变化后setInterval不执行
export default {
data () {
return {
intervalName: null
}
},
activated () {
this.intervalName = setInterval (() => {
this.getList();
}, 5*1000)
},
deactivated () {
clearInterval(this.intervalName)
},
mounted () {}
}