Ich habe eine Ember.ArrayController
, die unsortierten Inhalt hat.
Ich möchte wissen, ob es möglich ist, den Inhalt eines ArrayControllers zu sortieren, ohne eine neue Eigenschaft zu verwenden.
Ich könnte natürlich eine neue Eigenschaft erstellen:
%Vor%Aber ich hoffe, es gibt einen besseren Weg, der den Inhalt nicht dupliziert.
AKTUALISIEREN
Die neueste Version von Ember hat tatsächlich eine eingebaute Sortierfunktion. ArrayController
enthält jetzt die Ember.SortableMixin
, die aktiviert wird, wenn Sie sortProperties
(Array) und optional sortAscending
(Boolean) angeben.
Hinweis: Mit der neuen SortableMixin müssen Sie immer noch auf arrangedContent
verweisen, um die sortierte Version zu erhalten. Das Modell selbst bleibt unberührt. (Danke an Jonathan Tran)
ORIGINAL ANTWORT
Das richtige Verfahren ist die Verwendung der Eigenschaft arrangedContent
von ArrayProxy. Diese Eigenschaft wurde so entworfen, dass sie außer Kraft gesetzt wird, um eine sortierte oder gefilterte Version des Inhaltsarrays bereitzustellen.
Sie müssen Arrays in Ember manuell sortieren, einschließlich des Inhalts des Array-Controllers. Sie könnten content
immer durch Ihr sortiertes Array ersetzen, anstatt beide Arrays beizubehalten.
Aktualisieren
Hier ist ein Beispiel für das, wonach Sie suchen: Ссылка
Update # 2
Dieses Beispiel wurde aktualisiert, um die neuen Kontextänderungen für Ansichten zu verwenden. Ссылка
Lenker
%Vor%JavaScript
%Vor%