两个数组。如果第一个数组对象值之一为true,则第二个数组为false时将显示一些对象

时间:2019-02-16 01:32:48

标签: angular

第一个数组数据:

[
  { FirstName: "John", lastName: "Doe", Value: 46 },
  { FirstName: "Jack", lastName: "Smith", Value: 53 },
  { FirstName: "James", lastName: "Bhal", Value: true }
]

第二个数组 毕业舞会:

[
  { Label: "Ram", Key: "ram", Value: 46 },
  { Label: "Rom", Key: "rom", Value: 46 },
  { Label: "Mouse", Key: "mouse", Value: 46 }
]

如果第一个数组中的第三个对象的值为false,则如何在第二个数组中显示两个对象;如果第一个数组的第三个对象的值为true,则如何显示第二个数组中的所有对象(角度6 html)。尝试使用*ngFor*ngIf

2 个答案:

答案 0 :(得分:0)

在ts


firstArray = [
    { FirstName: "John", lastName: "Doe", Value: 46 },
    { FirstName: "Jack", lastName: "Smith", Value: 53 },
    { FirstName: "James", lastName: "Bhal", Value: false }
  ]

  secondArray = [
    { Label: "Ram", Key: "ram", Value: 46 },
    { Label: "Rom", Key: "rom", Value: 46 },
    { Label: "Mouse", Key: "mouse", Value: 46 }
  ]

在html中,

<div *ngFor="let item of secondArray;let i = index">
<div *ngIf="firstArray[2]?.Value === true || (firstArray[2]?.Value === false && i < 2)">{{ item | json }}</div>
</div>

答案 1 :(得分:0)

hugomac 的答案有效,但通过执行以下操作来删除一些硬编码值和boolean值的不必要检查,可以使其更可重用:

<div *ngFor="let item of data2;let i = index">
  <div *ngIf="(data1[data1.length-1]?.Value) || ( !data1[data1.length-1]?.Value && i < (data1.length-1)) ">
    {{ item | json }}
  </div>
</div>

demo code