Описание тега marionette
Backbone.Marionette - это набор общих шаблонов дизайна и реализации, которые можно найти в приложениях, которые мы создавали с помощью Backbone, и включает элементы, вдохновленные архитектурами составных приложений, архитектурами, управляемыми событиями, архитектурами обмена сообщениями и т. Д.
Важно отметить, что Marionette внесла некоторые критические изменения в свой API при переходе с 1.X на 2.X. Ниже приводится краткое изложение основных критических изменений, которые могут вызвать ошибки в вашем приложении. Полный отчет об изменениях можно найти на Документы Google.
Общее
- Все экземпляры слова
type
в API были заменены словомclass
. Например:- regionType => regionClass
- ChildViewType => ChildViewClass
Приложения и модули
- Приложения
initialize
triggerMethods были переименованы вstart
, который лучше описывает то, что происходит на самом деле. В частности,initialize:before
а такжеinitialize:after
есть сейчасbefore:start
а такжеstart
соответственно. Обратите внимание, что это изменение не потеряло функциональность; это просто смена имен.
Контроллеры
close
был переименован вdestroy
чтобы подчеркнуть тот факт, что экземпляр не должен использоваться повторно или "открываться" после его уничтожения
Регионы
Регионы сейчас выставлены
region.el
а такжеregion.$el
, как и View. Из-за этого изменения, если бы вы зависели отregion.el
чтобы быть селектором строк, вы должны обновить свой код, чтобы использоватьregion.$el.selector
.В
open
метод был переименован вattachHtml
Просмотры
Layout
теперь называетсяLayoutView
- Переименован
close
кdestroy
для просмотров. Закрыть сбивало с толку пользователей, которые думали, что их можно открыть повторно. Глагол "уничтожить" проясняет, что после уничтожения представления его нельзя использовать повторно. - Возвращение false из
onBeforeClose
больше не мешает закрытию вида appendHtml
был переименован вattachHtml
.appendBuffer
был переименован вattachBuffer
- Удаляет повторяющиеся и непоследовательные
itemView
События. Это изменение не привело к потере функциональности; просто используйте вместо этого версию без префикса. Например, используйтеbefore:render
вместо тогоitem:before:render
- Обратные вызовы childEvents больше не получают имя события в качестве первого аргумента
itemView
в пределахcollectionView
теперь известен какchildView
. Это устраняет путаницу для новых пользователей в том, что вы можете отображать любой тип представления в своемcollectionView
.- Все методы CollectionView, на которые ссылаются
itemView
теперь используйте то же самоеchildView
также. Например,getItemView
сейчасgetChildView
. Обратите внимание, что CompositeViews расширяются от CollectionView, поэтому эти изменения API также влияют на этот класс.
Ссылки
- Журнал изменений Backbone.Marionette
- Документация Marionette.js 3.0
- Документация Marionette.js 2.0
- Документация Marionette.js 1.0
- Backbone.Marionette Releases
- Руководство по обновлению - документация Marionette.js
- marionettejs/Marionette.Upgrade: Помогает обновить приложения для марионеток с 1.x 2.x