網站搜尋

angular - 在 ngFor 中使用 Elvis 運算子於 angular2


我有一個 ngFor,它會迭代一個列表。現在我的需求是根據條件,這個循環應該迭代兩個不同的列表。大概如下所示。

<div *ngFor="let student of students">

這是現有的程式碼。

 <div *ngFor="let student of (showAll=true)?students:studentsDetailList">

如何達成這樣的事情?

答案#1

<div *ngFor = let student of (showAll?students:studentsDetailList)>

這個語法運作正常

答案#2

考慮把那個放在組件類中,而不是放在模板中。

所以創建一個屬性:

 boundList: students[];

並且在程式碼的某個地方(可能是在 ngOnInit?)適當地設定它。

  if (this.showAll) {
     this.boundList = this.students;
  } else {
     this.boundList = this.studentsDetailList;
  }

或者(在一行中)

this.boundList = this.showAll ? this.students : this.studentsDetailList;