Inhalt von ArrayController sortieren

8

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.

    
louiscoquio 08.05.2012, 12:50
quelle

2 Antworten

35

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)

%Vor%

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.

%Vor%     
Ivan 10.07.2012, 02:40
quelle
2

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%

    
Roy Daniels 08.05.2012 14:42
quelle

Tags und Links