diff --git a/packages/compiler/src/render3/view/template.ts b/packages/compiler/src/render3/view/template.ts index 49e593ba90..607703732d 100644 --- a/packages/compiler/src/render3/view/template.ts +++ b/packages/compiler/src/render3/view/template.ts @@ -315,12 +315,12 @@ export class TemplateDefinitionBuilder implements t.Visitor, LocalResolver this._creationCode.push(...i18nMessages); } - const isEmptyElement = element.outputs.length === 0 && element.children.length === 0; + let isSelfClosingElement = element.outputs.length === 0 && element.children.length === 0; const implicit = o.variable(CONTEXT_NAME); - if (isEmptyElement) { + if (isSelfClosingElement) { this.instruction( this._creationCode, element.sourceSpan, R3.element, ...trimTrailingNulls(parameters)); } else { @@ -377,7 +377,7 @@ export class TemplateDefinitionBuilder implements t.Visitor, LocalResolver t.visitAll(this, element.children); } - if (!isEmptyElement) { + if (!isSelfClosingElement) { // Finish element construction mode. this.instruction( this._creationCode, element.endSourceSpan || element.sourceSpan, R3.elementEnd); diff --git a/packages/compiler/test/render3/r3_view_compiler_template_spec.ts b/packages/compiler/test/render3/r3_view_compiler_template_spec.ts index d4593cb197..86d96f9850 100644 --- a/packages/compiler/test/render3/r3_view_compiler_template_spec.ts +++ b/packages/compiler/test/render3/r3_view_compiler_template_spec.ts @@ -133,12 +133,15 @@ describe('compiler compliance: template', () => { }; const template = ` + // ... template:function MyComponent_Template(rf: IDENT, $ctx$: IDENT){ if (rf & 1) { $i0$.ɵEe(0,'div'); } }`; + debugger; + const result = compile(files, angularFiles); expectEmit(result.source, template, 'Incorrect template');