现在我正在使用ngIf查看Item Id是否为1并且它执行了一些样式更改,但第二个语句仍然针对没有项ID为1的所有其他对象运行。我理解为什么会发生这种情况,但如果数组中的任何对象中不存在Item Id为1,那么有没有办法只运行第二个语句?谢谢一堆
<div *ngFor="let item of items">
<div *ngIf="(item.details.id == 1)">
Do Somthing
</div>
<div *ngIf="(item.details.id != 1)">
Do Somthing
</div>
</div>
答案 0 :(得分:2)
在组件代码中:
// private oneExists: boolean = false;
this.oneExists = this.items.filter(item => item.details.id === 1).length > 0;
在模板中:
<div *ngFor="let item of items">
<div *ngIf="item.details.id === 1">
Do Something
</div>
<div *ngIf="! oneExists">
Do Something
</div>
</div>
答案 1 :(得分:0)
您应该与严格的运算符进行比较,如下所示
<div *ngFor="let item of items">
<div *ngIf="(item.details.id === 1)">
Do Somthing
</div>
<div *ngIf="!(item.details.id === 1)">
Do Somthing
</div>
</div>