fix(runtime-core): fix instance accessed via $parent chain when using expose() (#4048)

This commit is contained in:
Austin Keener
2021-07-02 07:51:54 -04:00
committed by GitHub
parent 735ada1507
commit 12cf9f4ea1
2 changed files with 12 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
import {
ComponentInternalInstance,
Data,
getExposeProxy,
isStatefulComponent
} from './component'
import { nextTick, queueJob } from './scheduler'
@@ -217,7 +218,7 @@ const getPublicInstance = (
i: ComponentInternalInstance | null
): ComponentPublicInstance | ComponentInternalInstance['exposed'] | null => {
if (!i) return null
if (isStatefulComponent(i)) return i.exposed ? i.exposed : i.proxy
if (isStatefulComponent(i)) return getExposeProxy(i) || i.proxy
return getPublicInstance(i.parent)
}