Angular2 模板语法 - 如何在 ngIf 上执行 OR

Angular2 Template syntax - How to do a OR on ngIf

我正在尝试遍历列表并希望显示基于 id 的元素。

如果我这样做

*ngIf="environment.id!=3" then works. 

单元格已隐藏。但我想做

*ngIf="environment.id!=3 OR environment.id!=1" 

这是行不通的。

<tr *ngFor="let environment of environments">
          <td>{{ environment.name }}</td>
          <td>
              <a *ngIf="environment.id!=3 ? environment.id!=1" [routerLink]="['EditEnvironment', { id: environment.id }]">
                      <i class="icon icon-edit"></i>
              </a>
          </td>
                <td>
            <i (click)="deleteEnvironment(environment)" class="icon icon-cross"></i>
          </td>
        </tr>

这个 *ngIf 总是 true 因为每个值都是 != 3!= 1

 *ngIf="environment.id!=3 OR environment.id!=1" 
  • 2 是 != 3 也是 != 1
  • 1 是 != 3
  • 3 是 != 1

OR只需要匹配一个。

你可能想要

     *ngIf="!(environment.id==3 || environment.id==1)" 

Plunker example

我会尝试以下方法:

*ngIf="environment.id!=3 || environment.id!=1"