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;
