wip: optimize expose

This commit is contained in:
Evan You
2020-11-16 11:28:37 -05:00
parent a603d56970
commit b79a06c605
2 changed files with 59 additions and 5 deletions

View File

@@ -743,11 +743,19 @@ export function applyOptions(
onUnmounted(unmounted.bind(publicThis))
}
if (!asMixin && expose) {
const exposed = instance.exposed || (instance.exposed = proxyRefs({}))
expose.forEach(key => {
exposed[key] = toRef(publicThis, key as any)
})
if (isArray(expose)) {
if (!asMixin) {
if (expose.length) {
const exposed = instance.exposed || (instance.exposed = proxyRefs({}))
expose.forEach(key => {
exposed[key] = toRef(publicThis, key as any)
})
} else if (!instance.exposed) {
instance.exposed = EMPTY_OBJ
}
} else if (__DEV__) {
warn(`The \`expose\` option is ignored when used in mixins.`)
}
}
}