在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"
答案 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