如何在ngIf中比较2个动态值

时间:2019-09-30 22:56:46

标签: angular

我是Angular的新手, 试图在ngIf中比较Json的2个属性值,

我有一个具有以下属性的Address对象,即Line1,Line2,城市,县,邮政编码,国家/地区

如果县不等于城市,我想在UI上显示县的值,

我正在使用Angular 7

示例地址1在数据库上:

  • 第1行:abc123
  • 第2行:xyz
  • 城市:伦敦
  • 县:伦敦
  • 国家:英国

因为县的价值等于城市的价值 在用户界面上,我想显示:

  • abc123,xyz,英国伦敦

示例地址2在数据库上:

  • 第1行:asdf456
  • 第2行:lkj
  • 城市:伦敦
  • 县:qwerty
  • 国家:英国

因为县的价值不等于城市的价值 在用户界面上,我想显示:

  • asdf456,lkj,伦敦,qwerty,英国

因此请尝试使用以下代码,但无法正常工作。

<div *ngIf="address.city == address.county">{{address.county}}</div>

尝试使用单引号

<div *ngIf="'address.city' == 'address.county'">{{address.county}}</div>

和三个等于'==='

<div *ngIf="address.city === address.county">{{address.county}}</div>

预先感谢

1 个答案:

答案 0 :(得分:1)

如果它是动态的,例如“可观察”等:

<div *ngIf="address$ | async as address">
    <div *ngIf="address.city  == address.county">{{address.county}}</div>
</div>

| async是动态值“可观察到的”和“承诺”的管道。小技巧请尝试不要在* ngFor循环中使用此管道。