})
// #9916
- it('directly watching shallow reactive array', async () => {
+ it('watching shallow reactive array with deep: false', async () => {
class foo {
prop1: ShallowRef<string> = shallowRef('')
prop2: string = ''
const collection = shallowReactive([obj1, obj2])
const cb = vi.fn()
- watch(collection, cb)
+ watch(collection, cb, { deep: false })
collection[0].prop1.value = 'foo'
await nextTick()
const reactiveGetter = (source: object) =>
deep === true
? source // traverse will happen in wrapped getter below
- : // for shallow or deep: false, only traverse root-level properties
- traverse(source, isShallow(source) || deep === false ? 1 : undefined)
+ : // for deep: false, only traverse root-level properties
+ traverse(source, deep === false ? 1 : undefined)
let getter: () => any
let forceTrigger = false