我有一个模型,它的结构中有一个列表和一个枚举属性,如下所示:
export class myModel {
Items: any[]=[];
ItemsType: ItemType;
}
我想在模板中使用 ng 容器和 ng 模板显示我的模型列表,但 ng 模板的内部内容未显示在我的结果中我的模板是这样的:
<nb-accordion>
<ng-container *ngFor="let model of myModels">
<ng-template [ngIf]="model.itemType == 0">
<nb-accordion-item *ngFor="let item of model.Items">
<nb-accordion-item-header>
...some content
</nb-accordion-item-header>
<nb-accordion-item-body>
...some content
</nb-accordion-item-body>
</nb-accordion-item>
</ng-template>
<ng-template [ngIf]="model.itemType == 1">
<nb-accordion-item *ngFor="let item of model.socialNetworkItems">
<nb-accordion-item-header>
...some content
</nb-accordion-item-header>
<nb-accordion-item-body>
...some content
</nb-accordion-item-body>
</nb-accordion-item>
</ng-template>
</ng-container>
</nb-accordion>
你可以帮我吗?
这是使用 model.ItemsType
而不是 model.itemtype
的基本错误
堆栈闪电战演示:https://stackblitz.com/edit/angular-nested-template-reference
对于那些认为ng-template
不能与*ngIf
一起使用的人,请参阅为什么 *ngIf 不适用于 ng-template?的接受答案,其中语法糖格式*ngIf
替换为[ngIf]
指令(但不建议使用(。