Angular2 나는 ngFor 있고 orderby 1 필드 원하는 있지만 사용자 지정 파이프 빌드.Angular2 있음 ngFor 있고 orderby 1 필드를
사용할 수있는 기본 제공 장치가 있습니까? 내가 item.hasUnreadMessages에 의해 주문하려는
<tr *ngFor="let item of listOfMessages" [ngClass]="{unread: item.hasUnreadMessages}">
:
이 내 코드입니다.
하지만이 작업을 수행하는 가장 간단한 방법이 필요합니다.
나는 angular2와 타이프 라이터와 HTML5를 사용하고
내 시도 :
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