2013-03-11 9 views

Odpowiedz

16

Funkcja ItemView dla marionetki udostępnia domyślną metodę render i close, która wykonuje kilka czynności.

render wykonuje następujące (między innymi):

1) znaki widok jak this.isClosed (związane przedstawiający poglądy w regionach, inna koncepcja Marionette)

2) Wyzwala renderowanie przed i po! zdarzenia

3) Wywołuje serializeData sposób, aby uzyskać dane (domyślnie danych z obu this.model lub this.collection.

4) Pobiera szablon (ewentualnie z TemplateCache) i czyni poprzez Marionetter.Renderer

5) wiąże elementy interfejsu

Oprócz tego „wolnego” render metody, można również uzyskać ścisłą funkcjonalności.

Oczywiście, jeśli używasz kombinacji CollectionView/ItemView (która jest bardzo wydajna) lub CompositeView/ItemView, MUSISZ użyć ItemView.

Poza tymi przypadkami jedną wielką korzyścią jest to, że WIEM, że twój pogląd będzie zgodny z regionami marionetki. Idealnie w app Marionetek, należy użyć oddzielnych regionów, aby pokazać swoje poglądy, tak jak poniżej:

var myView = new MyView(); 

// render and display the view 
MyApp.mainRegion.show(myView); 

// closes the current view 
MyApp.mainRegion.close(); 

Jeśli MyView jest Marionette ItemView, to będzie działać jak czar. Jeśli jest to tylko surowy widok kręgosłupa, prawdopodobnie będziesz musiał wykonać pewną pracę, aby upewnić się, że działa zgodnie z planem.

W moich aplikacjach zazwyczaj decyduję się na używanie ItemView jako podstawy wszystkich moich widoków, które nie są zbierane i nie są połączone.

+1

Brett. Dziękujemy za jasną i pomocną odpowiedź! Dokładnie to, czego szukałem. – Charles

+2

Cieszę się, że mogę pomóc. :) Zauważyłem, że źródło marionetek jest całkiem łatwe do odczytania/zrozumienia, więc możesz spróbować dać im wygląd, jeśli kiedykolwiek będziesz zdezorientowany, jak/dlaczego rzeczy działają tak, jak robią. – brettjonesdev

Powiązane problemy