Skip to content

whenever

类别
导出大小
173 B
最近修改
2 days ago

观察值是否为真值的简写。

🌐 Shorthand for watching value to be truthy.

用法

🌐 Usage

js
import { useAsyncState, whenever } from '@vueuse/core'

const { state, isReady } = useAsyncState(
  fetch('https://jsonplaceholder.typicode.com/todos/1').then(t => t.json()),
  {},
)

whenever(isReady, () => console.log(state))
ts
// this
whenever
(ready, () =>
console
.
log
(state))
// is equivalent to:
watch
(ready, (
isReady
) => {
if (
isReady
)
console
.
log
(state)
})

回调函数

🌐 Callback Function

watch 相同,回调将使用 cb(value, oldValue, onInvalidate) 调用。

🌐 Same as watch, the callback will be called with cb(value, oldValue, onInvalidate).

ts
whenever
(height, (
current
,
lastHeight
) => {
if (
current
>
lastHeight
)
console
.
log
(`Increasing height by ${
current
-
lastHeight
}`)
})

计算的

🌐 Computed

watch 相同,你可以传入一个 getter 函数在每次变化时进行计算。

🌐 Same as watch, you can pass a getter function to calculate on each change.

ts
// this
whenever
(
() => counter.value === 7, () =>
console
.
log
('counter is 7 now!'),
)

选项

🌐 Options

选项和默认值与 watch 相同。

🌐 Options and defaults are same with watch.

ts
// this
whenever
(
() => counter.value === 7, () =>
console
.
log
('counter is 7 now!'),
{
flush
: 'sync' },
)