File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed
test/unit/modules/vdom/patch Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -83,8 +83,15 @@ export function lifecycleMixin(Vue: typeof Component) {
83
83
vm . $el . __vue__ = vm
84
84
}
85
85
// if parent is an HOC, update its $el as well
86
- if ( vm . $vnode && vm . $parent && vm . $vnode === vm . $parent . _vnode ) {
87
- vm . $parent . $el = vm . $el
86
+ let wrapper : Component | undefined = vm
87
+ while (
88
+ wrapper &&
89
+ wrapper . $vnode &&
90
+ wrapper . $parent &&
91
+ wrapper . $vnode === wrapper . $parent . _vnode
92
+ ) {
93
+ wrapper . $parent . $el = wrapper . $el
94
+ wrapper = wrapper . $parent
88
95
}
89
96
// updated hook is called by the scheduler to ensure that children are
90
97
// updated in a parent's updated hook.
Original file line number Diff line number Diff line change @@ -257,11 +257,15 @@ describe('vdom patch: edge cases', () => {
257
257
258
258
expect ( vm . $refs . foo . $refs . bar . $el . tagName ) . toBe ( 'DIV' )
259
259
expect ( vm . $refs . foo . $refs . bar . $el . className ) . toBe ( `hello` )
260
+ expect ( vm . $el . tagName ) . toBe ( 'DIV' )
261
+ expect ( vm . $el . className ) . toBe ( `hello` )
260
262
261
263
vm . $refs . foo . $refs . bar . ok = false
262
264
waitForUpdate ( ( ) => {
263
265
expect ( vm . $refs . foo . $refs . bar . $el . tagName ) . toBe ( 'SPAN' )
264
266
expect ( vm . $refs . foo . $refs . bar . $el . className ) . toBe ( `hello` )
267
+ expect ( vm . $el . tagName ) . toBe ( 'SPAN' )
268
+ expect ( vm . $el . className ) . toBe ( `hello` )
265
269
} ) . then ( done )
266
270
} )
267
271
You can’t perform that action at this time.
0 commit comments