2012-10-21 11 views
8

Czy ktoś może mi wyjaśnić cel aranżacji treści.Ember.js i uporządkowana treść

docs wyjaśnia, że ​​może być nadpisane w podklasach:

Tablica że pełnomocnik udaje. W domyślnej implementacji ArrayProxy ta treść i treść są takie same. Podklasy obiektu ArrayProxy mogą przesłonić tę właściwość, aby zapewnić funkcje sortowania i filtrowania.

To, czym się mylę, to związek z treścią. Widzę w źródle, że ma własności obliczono na zawartość:

arrangedContent: Ember.computed('content', function(){ 
    return this.get('content'); 
} 

myślę, że jestem w prawo, mówiąc, że nigdy nie powinno wiązać się z treściąlecz wiążą się z samą arrayProxy.

Zakładam, że to samo dotyczy aranżowanej treści?

Czy po prostu użyję zaaranżowanej treści do filtrowania tablicy według potrzeb i związania się z samą tablicąProxy lub czy czegoś brakuje?

Odpowiedz

10

Masz całkowitą rację: zawsze powinieneś kierować się na serwer proxy podczas wiązania z wartościami lub metodami wyzwalającymi, takimi jak addObject. Posiadanie numeru arrangedContent pozwala Emberowi manipulować właściwościami kolekcji, podobnie jak jej kolejność sortowania lub wybrany element, bez zmiany ich w podstawowej tablicy.

Ponieważ pojedyncza tablica obiektów może być podstawowymi danymi wielu części aplikacji, nie trzeba zmieniać samej tablicy.

Jame za Croft ma świetny przewodnik mówi o Prokurenci: http://matchingnotes.com/ember-array-proxy

+0

Jeśli mam właściwość obliczoną tylko na treści, jak wyżej, arrangedContent obliczane nieruchomość jest wyzwalany tylko wtedy, gdy tablica jest zainicjowany. Myślałem, że może zostać wywołany, gdy był związany z szablonem kierownicy. Czy jest coś jeszcze, co powinienem robić? – dagda1

+1

Plus milion jeśli bym mógł, dla połączonego przewodnika. Bardzo * dobrze napisany samouczek dotyczący ArrayProxy, na który nie znałem odpowiedzi, której szukałem. – chris