Описание тега marionette

Backbone.Marionette - это составная библиотека приложений для Backbone.js, цель которой - упростить создание крупномасштабных приложений JavaScript. НЕ используйте этот тег для драйвера Марионетки Firefox. Вместо этого используйте тег firefox-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 также влияют на этот класс.

Ссылки