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.
Brett. Dziękujemy za jasną i pomocną odpowiedź! Dokładnie to, czego szukałem. – Charles
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