diff --git a/packages/compiler-vapor/src/generate.ts b/packages/compiler-vapor/src/generate.ts index 1f2b04624..b673e0585 100644 --- a/packages/compiler-vapor/src/generate.ts +++ b/packages/compiler-vapor/src/generate.ts @@ -318,12 +318,7 @@ function genChildren(children: IRDynamicChildren) { let offset = 0 for (const [index, child] of Object.entries(children)) { const childrenLength = Object.keys(child.children).length - if ( - child.dynamicFlags & DynamicFlag.NON_TEMPLATE || - (child.dynamicFlags & DynamicFlag.INSERT && - child.placeholder === null && - childrenLength === 0) - ) { + if (child.dynamicFlags & DynamicFlag.NON_TEMPLATE) { offset-- continue } diff --git a/packages/compiler-vapor/src/transforms/transformInterpolation.ts b/packages/compiler-vapor/src/transforms/transformInterpolation.ts index 27f6a2b74..4648cb788 100644 --- a/packages/compiler-vapor/src/transforms/transformInterpolation.ts +++ b/packages/compiler-vapor/src/transforms/transformInterpolation.ts @@ -27,7 +27,7 @@ export const transformInterpolation: NodeTransform = (node, ctx) => { ) } else { const id = ctx.reference() - ctx.dynamic.dynamicFlags |= DynamicFlag.INSERT + ctx.dynamic.dynamicFlags |= DynamicFlag.INSERT | DynamicFlag.NON_TEMPLATE ctx.registerOperation({ type: IRNodeTypes.CREATE_TEXT_NODE, loc: node.loc, diff --git a/packages/compiler-vapor/src/transforms/vIf.ts b/packages/compiler-vapor/src/transforms/vIf.ts index 70e452315..b06086b1c 100644 --- a/packages/compiler-vapor/src/transforms/vIf.ts +++ b/packages/compiler-vapor/src/transforms/vIf.ts @@ -42,6 +42,7 @@ export function processIf( dir.exp = createSimpleExpression(`true`, false, loc) } + context.dynamic.dynamicFlags |= DynamicFlag.NON_TEMPLATE if (dir.name === 'if') { const id = context.reference() context.dynamic.dynamicFlags |= DynamicFlag.INSERT @@ -58,8 +59,6 @@ export function processIf( }) } } else { - context.dynamic.dynamicFlags |= DynamicFlag.NON_TEMPLATE - // check the adjacent v-if const parent = context.parent! const siblings = parent.node.children