在Angular2中我有一個ngFor,並且想要按1字段排序,但是沒有構建自定義管道。在Angular2中我有一個ngFor並想要按1字段排序
是否有任何內置的我可以使用?
這是我的代碼:
<tr *ngFor="let item of listOfMessages" [ngClass]="{unread: item.hasUnreadMessages}">
我想item.hasUnreadMessages訂購。
但我想要最簡單的方法來做到這一點。
我使用HTML5與angular2和打字稿
我嘗試:
this.listOfMessages = this.listOfMessages.sort((item1:any, item2:any): boolean => this.compareByBool(item1, item2, "hasUnreadMessages"));
compareByBool = (item1: any, item2: any, fieldName: any): any =>{
return (item1[fieldName] === item2[fieldName] ? 0 : (item1[fieldName] ? -1 : 1));
}
如果這是真的:hasUnreadMessages那麼項目應在陣列的頂部
正如您可能已經注意到的,angular2故意沒有orderBy管道(請參閱:https://angular.io/docs/ts/latest/guide/pipes.html)。他們建議您保存排序元素的輔助數組並顯示它們。這對你有用嗎? – Meir
你最好這麼做嗎?你有沒有lodash的例子? – AngularM