【发布时间】:2019-03-25 07:38:32
【问题描述】:
我正在阅读有关 *ngTemplateOutlet 指令的信息。该指令的用途是通过模板引用和上下文对象作为参数动态实例化模板。
我想知道的是,我们在 Angular 中有很多东西可以达到与 *ngTemplateOutlet 相同的结果,例如:
我们可以有多个
*ngIf,它们可以根据同一个组件中的组件变量值呈现不同的模板。以类似的方式,我们有[ngSwitch],它将根据不同的值为我们呈现不同的模板。我们可以通过引用各个变量的模板引用变量来使用
*ngIf的引用。
对于前一种情况:
<div *ngIf="condition1"> Content 1 </div>
<div *ngIf="condition2"> Content 2 </div>
<div *ngIf="condition3"> Content 3 </div>
对于后者:
<ng-container *ngIf="condition then myTemplate else otherTemplate"></ng-container>
<ng-template #myTemplate> Some content... </ng-template>
<ng-template #otherTemplate> Some content... </ng-template>
如果我们的武器库中有这样的方法,*ngTemplateOutlet 会增加什么价值?
哪些实际用例(如果有的话)我们不能使用上述方法而应该使用*ngTemplateOutlet 指令,还是只是另一种方法可以选择以达到相同的结果?
【问题讨论】:
-
ngTemplateOutlet在ngSwitch(stackoverflow.com/questions/44184507/…) 中用于相同目的
标签: angular directive ng-template