首页 > 解决方案 > Angular 8 - 渲染 ng 模板之一

问题描述

我有两个<ng-template>s。我如何在没有外部元素的情况下有条件地渲染其中一个?

我想做这样的事情:

<ng-container *ngIf="condition ? ngTemplateOne : ngTemplatetwo"> </ng-container>

标签: angularng-template

解决方案


如果使用外部元素是指ngTemplateOutelet,则不能。但是,以防万一,您可以通过以下方式实现:

<ng-container *ngTemplateOutlet="someCondition ? template1 : template2"></ng-container>

如果您需要传递给这些模板以object供使用,则语法不同:

<ng-container [ngTemplateOutlet]="someCondition ? template1 : template2" [ngTemplateOutletContext]="{item:item}">
</ng-container>

推荐阅读