我有一個組件與項目的數組。Angular 2:ngFor在下降順序
每當用戶點擊一個按鈕,一個新的項目添加到這個數組。
該陣列在一個ngFor循環示出這種方式:
<li *ngFor="let log of Logs" class="list-group-item" [innerHTML]="log"</li>
現在,新日誌的在列表的底部所示。我正在嘗試將新日誌顯示在列表頂部。
如何使用角度2來完成?
我有一個組件與項目的數組。Angular 2:ngFor在下降順序
每當用戶點擊一個按鈕,一個新的項目添加到這個數組。
該陣列在一個ngFor循環示出這種方式:
<li *ngFor="let log of Logs" class="list-group-item" [innerHTML]="log"</li>
現在,新日誌的在列表的底部所示。我正在嘗試將新日誌顯示在列表頂部。
如何使用角度2來完成?
您可以爲此創建一個自定義管道:
@Pipe({
name: 'reverse'
})
export class ReversePipe {
transform(arr) {
var copy = arr.slice();
return copy.reverse();
}
}
(請注意,我創建了數組的一個副本不更新源陣列)
,並使用這種方式:
<li *ngFor="let log of Logs | reverse"
class="list-group-item" [innerHTML]="log"</li>
不要忘記將此管道添加到您使用它的組件的pipes
屬性中。
不應該將管道添加到「管道」而不是「指令」中? –
你完全正確!感謝您指出了這一點。我更新了我的答案... –
您還必須導入'PipeTransform'並說'ReversePipe實現PipeTransform' –
您無法更改ngFor的順序。爲什麼不使用Array.unshift(newLog)將新日誌添加到數組? –
謝謝@ Jean-PhilippeLeclerc,我不知道這種方法。 – TheUnreal