检查* ngIf,是否有数组(Angular 4)

时间:2018-02-15 08:09:10

标签: arrays json angular ngfor angular-ng-if

我正在循环使用* ngFor的json文件。循环遍历数据时,我想检查每个人,如果它没有颜色数组。我用* ngIf这样做。

JSON

[
  {
    "name": "Peter",
    "colors": [
      {
        "color": "blue"
      },
      {
        "color": "yellow"
      }
    ]
  },
  {
    "name": "Maria"
  }
  // has no colors array
]

HTML

<div *ngFor="let person of persons">
     <div *ngIf=" what comes here?? ">
        <p>{{person.name}} has no colors</p>
     </div>          
</div>

如果一个人没有颜色数组,我如何检查?

2 个答案:

答案 0 :(得分:3)

试试这个

<div *ngFor="let person of persons">
  <div *ngIf="person.colors && person.colors.length">

用文字表示

  

如果数组存在并且其中至少包含一个元素

相反的是

  <div *ngIf="!person.colors || !person.colors.length">

您可以使用 Elvis operator

缩短
<div *ngIf="!person.colors?.length">

答案 1 :(得分:2)

非常简单:

class BaseCell: UITableViewCell {
    //Some code here...
}

extension BaseCell {
    @objc func isValid() -> String? {
        //Some code here...
    }
}

class SampleCell: BaseCell {
    //Some code here...

    @objc override func isValid() -> String? {
        //Some code here...
    }
}