fix(reactivity): replaced ref in reactive object should be tracked (#1058)

This commit is contained in:
Yang Mingshan
2020-06-12 21:20:43 +08:00
committed by GitHub
parent d437a0145d
commit 80e1693e1f
2 changed files with 17 additions and 3 deletions

View File

@@ -66,14 +66,14 @@ function createGetter(isReadonly = false, shallow = false) {
return res
}
!isReadonly && track(target, TrackOpTypes.GET, key)
if (shallow) {
!isReadonly && track(target, TrackOpTypes.GET, key)
return res
}
if (isRef(res)) {
if (targetIsArray) {
!isReadonly && track(target, TrackOpTypes.GET, key)
return res
} else {
// ref unwrapping, only for Objects, not for Arrays.
@@ -81,7 +81,6 @@ function createGetter(isReadonly = false, shallow = false) {
}
}
!isReadonly && track(target, TrackOpTypes.GET, key)
return isObject(res)
? isReadonly
? // need to lazy access readonly and reactive here to avoid