- 在组件中有定时器任务时,当组件销毁之后定时器任务依然执行,可在destoryed()钩子函数中清除掉
<template>
<div>
<swiper-destoryed v-if="show"></swiper-destoryed>
<button @click="show = false">注销轮播图组件</button>
</div>
</template>
<template>
<div>
<h1>
Swiper-component
</h1>
</div>
</template>
// 定义timer变量用于保存setInterval()返回值
let timer = null
export default {
methods: {
autoPlay () {
timer = setInterval(() => {
console.log('自动播放')
}, 20)
}
},
mounted () {
this.autoPlay()
},
beforeDestroy () {
// 在beforeDestoryed钩子函数中 清除定时器任务
clearInterval(timer)
// 重置timer变量值为null
timer = null
}
}