Skip to content

watchPausable

可暂停监视

¥Pausable watch

提示

可暂停监听器 已添加到 Vue 自 3.5 版本起,请在支持的版本上使用 const { stop, pause, resume } = watch(watchSource, callback)

¥Pausable Watcher has been added to Vue since 3.5, use const { stop, pause, resume } = watch(watchSource, callback) instead on supported versions.

示例

Type something below to trigger the watch


Log

用法

¥Usage

正常使用 watch,但返回额外的 pause()resume() 函数进行控制。

¥Use as normal the watch, but return extra pause() and resume() functions to control.

ts
import { 
watchPausable
} from '@vueuse/core'
import {
nextTick
,
shallowRef
} from 'vue'
const
source
=
shallowRef
('foo')
const {
stop
,
pause
,
resume
} =
watchPausable
(
source
,
v
=>
console
.
log
(`Changed to ${
v
}!`),
)
source
.
value
= 'bar'
await
nextTick
() // Changed to bar!
pause
()
source
.
value
= 'foobar'
await
nextTick
() // (nothing happend)
resume
()
source
.
value
= 'hello'
await
nextTick
() // Changed to hello!