Элемент Item Item Marionette предоставляет стандартные методы render
и close
, которые делают несколько вещей для вас.
render
выполняет следующие действия (среди прочего):
1) Marks вид как this.isClosed (связанные с показывая мнения в регионах, еще одна концепция марионеток)
2) Триггеры до и после визуализации! события
3) Вызывает метод serializeData
для получения данных (по умолчанию для данных либо this.model
или this.collection
.
4) Получает шаблон (возможно, от TemplateCache) и оказывает с помощью Marionetter.Renderer
5) Связывает элементы пользовательского интерфейса
В дополнение к этому «свободный» render
метод, вы также получить близкую функциональность.
Конечно, если вы используете комбинацию CollectionView/ItemView (которая очень мощная) или CompositeView/ItemView, вы должны использовать ItemView.
За пределами этих случаев одним большим преимуществом является то, что вы ЗНАЕТЕ, что ваш взгляд будет совместим с регионами марионеток. В идеале, в приложении марионеток, можно использовать отдельные регионы, чтобы показать свою точку зрения, так как:
var myView = new MyView();
// render and display the view
MyApp.mainRegion.show(myView);
// closes the current view
MyApp.mainRegion.close();
Если MyView
является кукольный ItemView, это будет работать как шарм. Если это просто сырой Backbone View, вам, вероятно, потребуется сделать некоторую работу, чтобы убедиться, что он работает так, как планировалось.
В моих приложениях я обычно предпочитаю использовать ItemView в качестве основы для всех моих не-коллекционных и некомпозиционных представлений.
Brett. Спасибо за четкий и полезный ответ! Именно то, что я искал. – Charles
Рад помочь. :) Я нашел источник Marionette довольно легким для чтения/понимания, поэтому вы можете попытаться взглянуть на них, если вы когда-нибудь смущены тем, как/почему все работает так, как будто они работают. – brettjonesdev