Ich habe eine Liste von Benutzern (sechs um genau zu sein) in einer Sammlung mit den Eigenschaften 'Vorname', 'Nachname'. Beim Abrufen sortiert der Komparator sie nach 'Vornamen' und das funktioniert einwandfrei.
%Vor%Aber wenn ich versuche, die Sammlung später durch einen anderen Wert, d. h. "Nachname", zu sortieren, funktioniert es nicht. Die Reihenfolge bleibt gleich.
%Vor%Was mache ich falsch?
Aktualisieren
Die von sortBy zurückgegebenen Daten werden also sortiert, aber das hilft mir nicht wirklich, da meine Ansicht mit der Sammlung verknüpft ist. Wenn ich die Sammlung zurücksetze und das sortierte Array zurück zur Sammlung hinzufüge, wird der Vergleicher seinen Job ausführen und ihn wieder in die 'Vorname' Reihenfolge sortieren.
%Vor% Die Funktion sortBy
sortiert die Objekte in der aktuellen Sammlung nicht. Es gibt eine sortierte Sammlung zurück:
Jetzt können Sie sortedCollection
verwenden und es wird korrekt sortiert.
Um auf Ihr Update zu antworten:
Wenn Sie die Reihenfolge ändern möchten, in der die Sammlung für die entsprechende Ansicht sortiert ist, können Sie einfach comparator
aktualisieren und dann sort
aufrufen, um das Modell neu sortieren zu lassen. Daraufhin wird ein sort
-Ereignis ausgelöst, auf das Ihre Ansicht warten kann und das sich entsprechend aktualisiert.
Tags und Links javascript backbone.js