vue在watch中监听状态动态开启关闭定时器
时间: 2023-10-12 11:17:25 浏览: 79
Vue2 监听属性改变watch的实例代码
可以在`watch`中监听状态,并根据状态动态开启或关闭定时器。具体实现可以参考以下代码:
```javascript
<template>
<div>
<!-- 点击按钮切换状态 -->
<button @click="toggleStatus">{{ status ? '关闭' : '开启' }}</button>
</div>
</template>
<script>
export default {
data() {
return {
status: false, // 初始状态为关闭
timer: null // 定时器
}
},
watch: {
status(newVal) {
if (newVal) {
// 如果状态为开启,则开启定时器
this.timer = setInterval(() => {
console.log('定时器开启')
}, 1000)
} else {
// 如果状态为关闭,则关闭定时器
clearInterval(this.timer)
console.log('定时器关闭')
}
}
},
methods: {
toggleStatus() {
this.status = !this.status
}
}
}
</script>
```
在上面的代码中,我们定义了一个`status`状态和一个`timer`定时器。在`watch`中监听`status`状态的变化,如果状态为开启,则开启定时器;如果状态为关闭,则关闭定时器。通过点击按钮切换状态,来测试定时器的开启与关闭。
阅读全文