vue项目中父组件清除子组件中的定时器
时间: 2023-11-20 19:07:06 浏览: 185
vue路由事件beforeRouteLeave及组件内定时器的清除方法
父组件可以通过在子组件中使用`beforeDestroy`钩子函数来清除子组件中的定时器。在子组件的`beforeDestroy`函数中,可以使用`clearInterval`函数来清除定时器。具体操作如下所示:
A.vue子组件代码:
```
<template>
<p>这是A页面,测试:{{num}}</p>
</template>
<script>
export default {
name: 'A',
data() {
return {
interval: '',
num: 0
}
},
mounted() {
this.interval = setInterval(() => {
this.num++
}, 1000);
},
beforeDestroy() {
console.log("A页面beforeDestroy清除定时器");
clearInterval(this.interval);
}
}
</script>
<style scoped>
</style>
```
在父组件中,当切换到其他子组件时,Vue会自动触发子组件的`beforeDestroy`函数,从而清除定时器。
阅读全文