context: CodegenContext
) {
if (condition) {
+ const { push, indent, deindent, newline } = context
// v-if or v-else-if
- context.push(`(${condition.content})`, condition)
- context.push(`?`)
+ push(`(${condition.content})`, condition)
+ indent()
+ push(`? `)
genChildren(children, context)
- context.push(`:`)
+ newline()
+ push(`: `)
if (nextIndex < branches.length) {
genIfBranch(branches[nextIndex], branches, nextIndex + 1, context)
} else {
context.push(`null`)
}
+ deindent()
} else {
// v-else
__DEV__ && assert(nextIndex === branches.length)
for (let i = 0; i < nodeTransforms.length; i++) {
const plugin = nodeTransforms[i]
plugin(node, context)
- if (!context.currentNode) {
- return
- } else {
- // node may have been replaced
- node = context.currentNode
- }
+ // node may have been replaced
+ node = context.currentNode || node
+ }
+
+ if (!context.currentNode) {
+ // node was removed
+ return
}
// further traverse downwards