在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>
我已经使用 *ngIf
的 else
部分来插入在别处定义的模板 . 我可以写 *ngIf="false; else #foo"
来渲染嵌入式视图模板,但我觉得这不应该是必要的 .
<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>
1 回答
您正在寻找
NgTemplateOutput
“从准备好的TemplateRef
插入嵌入视图 . ”https://angular.io/api/common/NgTemplateOutlet