2016-11-12 4 views
1

У меня есть массив назначенийОтображение отсортированный список с ngFor без сортировки источника в Angular2

export class DashboardComponent implements OnInit { 
    appointments: IAppointment[]; 
    ... 

И я передаю список компонент списка

<div class="col-md-6"> 
    <appointment-list [appointments]="appointments" [title]="'Aankomende afspraken'"></appointment-list> 
</div> 
<div class="col-md-6"> 
    <appointment-list [appointments]="appointments" [title]="'Ingecheckte afspraken'"></appointment-list> 
</div> 

В этом списке компонент I заказ эти назначения с помощью трубы на * ngFor

<tbody *ngFor="let appointment of appointments | orderBy : '-startTime'> 
... 
</tbody> 

Пожалуйста, см image with the result (watch the difference in ordering!)

Первый компонент заказан, как и следовало ожидать, но второй компонент заказывается в обратном порядке?

  • Почему?
  • Выполняет ли порядок сортировки исходного массива?
  • Или он отображает только массив?

Я хочу, чтобы иметь возможность отправлять компоненты с одинаковым исходным массивом и одинаковым заказом, но с другой фильтрацией, поэтому я дважды показываю компонент.

ответ

0

| orderBy - это труба, и это зависит от ее реализации, если исходный массив отсортирован, а затем возвращен или создается новый экземпляр массива, содержащий одни и те же элементы.