Javascript 离开组件vuejs 2后仍将触发自定义事件
我正在使用vue.js进行一个spa项目。在一个组件中,我在一段时间后发送ajax请求。我正在使用vue router进行导航。当我离开路由并进入另一个组件时,ajax请求仍在执行。如何防止/销毁事件的执行?以下是我的代码示例:Javascript 离开组件vuejs 2后仍将触发自定义事件,javascript,vuejs2,Javascript,Vuejs2,我正在使用vue.js进行一个spa项目。在一个组件中,我在一段时间后发送ajax请求。我正在使用vue router进行导航。当我离开路由并进入另一个组件时,ajax请求仍在执行。如何防止/销毁事件的执行?以下是我的代码示例: export default { data() { return { }; }, methods: { onLoad() {
export default {
data() {
return {
};
},
methods: {
onLoad() {
setInterval(function(){
//sending ajax request
}, 5000);
},
},
mounted() {
this.onLoad();
},
}
您需要将间隔ID保存在Vue实例中,以便稍后通过调用
clearInterval
将其删除。以下是实现此目的的方法:
export default {
methods: {
onLoad() {
this.intervalId = setInterval(() => {
//sending ajax request
}, 5000)
}
},
mounted() {
this.onLoad()
},
beforeDestroy() {
clearInterval(this.intervalId)
}
}
编辑:
intervalId
不需要反应。谢谢你,兄弟。完美的答案。你救了我一天。