vue setTimeout定时执行器 如何设置关闭页面时销毁
时间: 2024-04-08 22:34:57 浏览: 106
在 Vue 中,你可以使用 `beforeDestroy` 钩子函数来实现关闭页面时销毁定时器。以下是一个示例代码:
```vue
<template>
<div>
<!-- 页面内容 -->
</div>
</template>
<script>
export default {
data() {
return {
timer: null,
};
},
mounted() {
// 在页面加载完成后启动定时器
this.startTimer();
},
beforeDestroy() {
// 在页面销毁前清除定时器
this.stopTimer();
},
methods: {
startTimer() {
this.timer = setTimeout(() => {
// 定时器回调函数
// 执行你的逻辑代码
}, 1000);
},
stopTimer() {
clearTimeout(this.timer);
},
},
};
</script>
```
在上面的示例中,`beforeDestroy` 钩子函数会在页面销毁前执行,我们通过调用 `stopTimer` 方法来清除定时器。在 `mounted` 钩子函数中,我们启动了一个定时器并将其赋值给 `timer` 变量,以便在 `stopTimer` 中使用 `clearTimeout` 方法清除定时器。
这样,当页面被关闭或销毁时,定时器会被正确地清除,避免了可能的内存泄漏问题。
阅读全文