File tree Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Original file line number Diff line number Diff line change 77 hasOwn ,
88 isArray ,
99 hasProto ,
10- isObject ,
1110 isPlainObject ,
1211 isPrimitive ,
1312 isUndef ,
@@ -108,23 +107,21 @@ export function observe(
108107 shallow ?: boolean ,
109108 ssrMockReactivity ?: boolean
110109) : Observer | void {
111- if ( ! isObject ( value ) || isRef ( value ) || value instanceof VNode ) {
112- return
110+ if ( value && hasOwn ( value , '__ob__' ) && value . __ob__ instanceof Observer ) {
111+ return value . __ob__
113112 }
114- let ob : Observer | void
115- if ( hasOwn ( value , '__ob__' ) && value . __ob__ instanceof Observer ) {
116- ob = value . __ob__
117- } else if (
113+ if (
118114 shouldObserve &&
119115 ( ssrMockReactivity || ! isServerRendering ( ) ) &&
120116 ( isArray ( value ) || isPlainObject ( value ) ) &&
121117 Object . isExtensible ( value ) &&
122118 ! value . __v_skip /* ReactiveFlags.SKIP */ &&
123- ! rawMap . has ( value )
119+ ! rawMap . has ( value ) &&
120+ ! isRef ( value ) &&
121+ ! ( value instanceof VNode )
124122 ) {
125- ob = new Observer ( value , shallow , ssrMockReactivity )
123+ return new Observer ( value , shallow , ssrMockReactivity )
126124 }
127- return ob
128125}
129126
130127/**
You can’t perform that action at this time.
0 commit comments