2013-03-11 3 views

ответ

16

Элемент 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 в качестве основы для всех моих не-коллекционных и некомпозиционных представлений.

+1

Brett. Спасибо за четкий и полезный ответ! Именно то, что я искал. – Charles

+2

Рад помочь. :) Я нашел источник Marionette довольно легким для чтения/понимания, поэтому вы можете попытаться взглянуть на них, если вы когда-нибудь смущены тем, как/почему все работает так, как будто они работают. – brettjonesdev

Смежные вопросы