跳到内容

watchDeep

分类
导出大小
113 B
最近更改
4 个月前

用于监听值且带有 {deep: true} 的简写

用法

类似于 watch,但带有 { deep: true }

ts
import { watchDeep } from '@vueuse/core'

const nestedObject = ref({ foo: { bar: { deep: 5 } } })

watchDeep(nestedObject, (updated) => {
  console.log(updated)
})

onMounted(() => {
  nestedObject.value.foo.bar.deep = 10
})

类型声明

typescript
export declare function watchDeep<
  T extends Readonly<WatchSource<unknown>[]>,
  Immediate extends Readonly<boolean> = false,
>(
  source: [...T],
  cb: WatchCallback<MapSources<T>, MapOldSources<T, Immediate>>,
  options?: Omit<WatchOptions<Immediate>, "deep">,
): WatchStopHandle
export declare function watchDeep<
  T,
  Immediate extends Readonly<boolean> = false,
>(
  source: WatchSource<T>,
  cb: WatchCallback<T, Immediate extends true ? T | undefined : T>,
  options?: Omit<WatchOptions<Immediate>, "deep">,
): WatchStopHandle
export declare function watchDeep<
  T extends object,
  Immediate extends Readonly<boolean> = false,
>(
  source: T,
  cb: WatchCallback<T, Immediate extends true ? T | undefined : T>,
  options?: Omit<WatchOptions<Immediate>, "deep">,
): WatchStopHandle

源码

源码文档

贡献者

Anthony Fu
Anthony Fu
山吹色御守
jp-liu
Kyrie890514
Alex Liu
丶远方
Hammad Asif

更新日志

v12.0.0-beta.1 on 11/21/2024
0a9ed - feat!: 移除 Vue 2 支持,优化包并清理 (#4349)
v11.0.0-beta.2 on 7/17/2024
0716d - fix: 统一 watch 函数的重载声明 (#4043)
v10.1.0 on 4/22/2023
8f6a0 - feat(watch): `watchImmediate` 和 `watchDeep` 支持重载 (#2998)
v10.0.0-beta.3 on 4/12/2023
e6e25 - fix(watchDeep,watchImmediate): 修复回调函数执行逻辑 (#2951)
v10.0.0-beta.0 on 3/14/2023
b4ec7 - feat(watch): watch 的简写 (#2651)

在 MIT 许可证下发布。