В моем приложении я отображаю div для каждого объекта в моем массиве и использую ng2-order-pipe для их сортировки:
<div class="patients-container" (dragover)="allowDrop($event)" (drop)="onDrop($event)">
<div class="patient-box" draggable="true" *ngFor="let patient of patients | orderBy: order" (dragstart)="onDrag($event, patient)">
<table class="patient-table">
<th class="location-header">
<p class="location" (click)="openEditPatientDialog(patient)">{{patient.location}}<md-icon>edit</md-icon></p>
<p class="name" [style.visibility]="patient.name == '' ? 'hidden' : 'visible'">{{patient.name}}</p>
<p class="triage"><md-icon [style.color]="patient.severity">favorite</md-icon></p>
</th>
<th class="intervals-header">
<table>
<tr *ngFor="let interval of intervals">
<td>{{interval}}</td>
</tr>
</table>
</th>
<tr>
<td></td>
</tr>
</table>
</div>
</div>
Когда мое приложение запускается, они сортируются. Однако, поскольку эти элементы div можно перетаскивать, я перемещаю объекты туда и обратно между двумя компонентами. Когда я перемещаю объект в другой компонент, а затем обратно, элементы div больше не сортируются, и мне придется снова нажимать кнопку сортировки.
Есть ли способ заставить его автоматически сортировать объекты снова, когда объекты добавляются в массив? Спасибо.