vue setTimeout定时执行器 如何设置关闭页面时销毁
时间: 2024-04-08 10:34:56 浏览: 133
在 Vue 中使用 setTimeout 定时执行器时,如果想在关闭页面时销毁定时器,可以考虑在组件的 `beforeDestroy` 钩子函数中清除定时器。在该钩子函数中,可以使用 `clearTimeout` 方法来清除定时器。
下面是一个示例代码:
```vue
<template>
<div>
<button @click="startTimer">Start Timer</button>
</div>
</template>
<script>
export default {
data() {
return {
timer: null
};
},
methods: {
startTimer() {
this.timer = setTimeout(() => {
// 定时器回调函数
console.log("Timer executed!");
}, 5000);
}
},
beforeDestroy() {
if (this.timer) {
clearTimeout(this.timer);
}
}
};
</script>
```
在上述代码中,我们在 `startTimer` 方法中使用 `setTimeout` 设置了一个定时器,并将返回的定时器 ID 存储在组件的 `timer` 属性中。在组件销毁之前的 `beforeDestroy` 钩子函数中,我们检查 `timer` 是否存在,如果存在,则使用 `clearTimeout` 方法清除定时器。
这样,在页面关闭时,定时器会被正确地销毁,避免了潜在的内存泄漏问题。
阅读全文