如何使用* ngFor编写条件以检查两个值

时间:2019-01-29 20:28:38

标签: angular

我正在使用角度7

我的组件内部有一个库存阵列,如上所示。

private stocks:any = [];

 [{
        "scripcode": "M&M",
        "open": "671.95",
        "high": "676.90",
        "low": "661.60",
        "exchange": "NSE"
    }, {
        "scripcode": "DRREDDY",
        "open": "2616.00",
        "high": "2684.00",
        "low": "2603.00",
        "exchange": "NSE"
    }, {
        "scripcode": "GRASIM",
        "open": "722.00",
        "high": "743.60",
        "low": "722.00",
        "exchange": "NSE"
    }
    ]

我在模板类中以以下方式显示它

<tbody>
    <tr mdbTableCol *ngFor="let el of stocks">
      <th scope="row">{{el.scripcode}}</th>
      <td>{{el.open}}</td>
      <td>{{el.low}}</td>
      <td>{{el.high}}</td>
    </tr>
  </tbody>

是否有可能写一个条件,如果开盘价和低盘价相同,那么只有我需要显示行,否则就不需要

感谢您阅读

1 个答案:

答案 0 :(得分:0)

对于类似这样的东西,我会利用* ngIf。由于需要使用两个模板绑定,因此可以使用ng-container

<tbody>
  <ng-container *ngFor="let el of stocks">
    <tr mdbTableCol *ngIf="el.low === el.open">
      <th scope="row">{{el.scripcode}}</th>
      <td>{{el.open}}</td>
      <td>{{el.low}}</td>
      <td>{{el.high}}</td> 
    </tr>
  </ng-container>
</tbody>

只有在两者不相同时,才会显示此tr