docs: add advanced skills for Vitest, Pinia, and Vue built-ins
Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
This commit is contained in:
53
.agents/skills/vueuse-functions/references/watchArray.md
Normal file
53
.agents/skills/vueuse-functions/references/watchArray.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
category: Watch
|
||||
---
|
||||
|
||||
# watchArray
|
||||
|
||||
Watch for an array with additions and removals.
|
||||
|
||||
## Usage
|
||||
|
||||
Similar to `watch`, but provides the added and removed elements to the callback function. Pass `{ deep: true }` if the list is updated in place with `push`, `splice`, etc.
|
||||
|
||||
```ts
|
||||
import { watchArray } from '@vueuse/core'
|
||||
|
||||
const list = ref([1, 2, 3])
|
||||
|
||||
watchArray(list, (newList, oldList, added, removed) => {
|
||||
console.log(newList) // [1, 2, 3, 4]
|
||||
console.log(oldList) // [1, 2, 3]
|
||||
console.log(added) // [4]
|
||||
console.log(removed) // []
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
list.value = [...list.value, 4]
|
||||
})
|
||||
```
|
||||
|
||||
## Type Declarations
|
||||
|
||||
```ts
|
||||
export declare type WatchArrayCallback<V = any, OV = any> = (
|
||||
value: V,
|
||||
oldValue: OV,
|
||||
added: V,
|
||||
removed: OV,
|
||||
onCleanup: (cleanupFn: () => void) => void,
|
||||
) => any
|
||||
/**
|
||||
* Watch for an array with additions and removals.
|
||||
*
|
||||
* @see https://vueuse.org/watchArray
|
||||
*/
|
||||
export declare function watchArray<
|
||||
T,
|
||||
Immediate extends Readonly<boolean> = false,
|
||||
>(
|
||||
source: WatchSource<T[]> | T[],
|
||||
cb: WatchArrayCallback<T[], Immediate extends true ? T[] | undefined : T[]>,
|
||||
options?: WatchOptions<Immediate>,
|
||||
): WatchHandle
|
||||
```
|
||||
Reference in New Issue
Block a user