ngIf检查变量是否存在

时间:2017-04-05 18:16:41

标签: angular

现在我正在使用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>

2 个答案:

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