wip: fix binding type fallback

This commit is contained in:
Evan You
2020-11-10 17:31:09 -05:00
parent 886ed7681d
commit 3019508e75
3 changed files with 8 additions and 9 deletions

View File

@@ -100,19 +100,17 @@ export function processExpression(
const { inline, inlinePropsIdentifier, bindingMetadata } = context
const prefix = (raw: string) => {
const type = hasOwn(bindingMetadata, raw) && bindingMetadata[raw]
if (inline) {
// setup inline mode, it's either props or setup
if (bindingMetadata[raw] !== 'setup') {
// setup inline mode
if (type === 'props') {
return `${inlinePropsIdentifier}.${raw}`
} else {
} else if (type === 'setup') {
return `${context.helperString(UNREF)}(${raw})`
}
} else {
const source = hasOwn(bindingMetadata, raw)
? `$` + bindingMetadata[raw]
: `_ctx`
return `${source}.${raw}`
}
// fallback to normal
return `${type ? `$${type}` : `_ctx`}.${raw}`
}
// fast path if expression is a simple identifier.