vue3通过按钮的方式选择5秒刷新一次页面,10秒刷新一次,30秒刷新一次页面的定时器在怎么写
时间: 2024-02-27 10:55:50 浏览: 66
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
您可以使用Vue3中的`setInterval()`函数和`clearInterval()`函数来实现定时器功能。具体来说,您可以在Vue3组件的`mounted()`生命周期钩子函数中创建定时器,并在组件的`beforeUnmount()`生命周期钩子函数中清除定时器。
以下是一个示例代码,其中包含了三个按钮,分别用于选择5秒、10秒和30秒的刷新间隔:
```html
<template>
<div>
<button @click="startTimer(5000)">5秒刷新</button>
<button @click="startTimer(10000)">10秒刷新</button>
<button @click="startTimer(30000)">30秒刷新</button>
</div>
</template>
<script>
export default {
data() {
return {
timerId: null,
refreshInterval: null
}
},
methods: {
startTimer(interval) {
// 清除之前的定时器
clearInterval(this.timerId)
// 开始新的定时器
this.timerId = setInterval(() => {
// 在此处写入刷新页面的逻辑
console.log('刷新页面')
}, interval)
this.refreshInterval = interval
}
},
beforeUnmount() {
// 清除定时器
clearInterval(this.timerId)
}
}
</script>
```
在上面的代码中,`startTimer()`函数用于启动定时器,并将定时器的ID保存在`this.timerId`中。在定时器的回调函数中,您可以编写刷新页面的逻辑。同时,您还可以将当前的刷新间隔保存在`this.refreshInterval`中,以便在其他地方使用。最后,在组件销毁之前,您需要使用`clearInterval()`函数清除定时器。
阅读全文