在多个位置输出/渲染模板,与ngIf条件分开

时间:2018-08-20 15:59:09

标签: angular angular-template

在Angular模板中说,我想根据某些条件选择渲染嵌入式视图(<ng-template>)的位置。

<ng-template #foo>
  Hello World.
</ng-template>

<p *ngIf="isBar; else baz">
  Bar:  <!-- Want to insert #foo here, sometimes -->
</p>
<div #baz>
  Baz:  <!-- Want to insert #foo over here instead, other times -->
</div>

我使用了else的{​​{1}}部分来插入在其他地方定义的模板。我可以编写*ngIf来呈现嵌入式视图模板,但是我认为这不是必需的。

*ngIf="false; else #foo"

1 个答案:

答案 0 :(得分:-1)

您正在寻找<p *ngIf="isBar; else baz"> Bar: <ng-container *ngIf="false; else foo"></ng-container> </p> <div #baz> Baz: <ng-container *ngIf="false; else foo"></ng-container> </div> ,它“从准备好的NgTemplateOutput插入嵌入式视图。”

https://angular.io/api/common/NgTemplateOutlet

TemplateRef