2013-11-21 2 views
0

Я начинаю использовать Backbone.Marionette, и я очень взволнован этим.Это лучший способ обмениваться объектами с Marionette и Requirejs

Я сейчас пытаюсь работать с регионами, и то, что я действительно не знаю, как разделить RegionManager. Я сделал это, как вы можете видеть:

require(['backbone.marionette', 'cards-container', 'main-view'], function(Marionette, CardsContainer, MainView) { 
    new MainView(); 
    window.app.RegionManager = new Marionette.RegionManager; 
     window.app.RegionManager.addRegions({ 
     mainContainer: '.container', 
     menu: '#menu', 
     categoryBar: '.category-bar' 
    }) 

}); 

Что я действительно считаю не лучшим выходом.

Я думал, чтобы написать этот модуль как один драм, и вернуть менеджер региона или другие вещи, которые я бы использовать на других модулях:

return { 
    regionManager: rm 
} 

Было бы лучше? Если да, то да. Будет ли этот модуль выполняться каждый раз, когда я этого требую, или требуется, просто выберите менеджера региона.

Спасибо!

ответ

0

RegionManager доступен из любого места, когда используется модуль Marionette. Поэтому вам не нужно явно создавать новый RegionManager.

Если я использую это:

var MyApp = new Marionette.Application(); 

MyApp.addRegions({ 
    mainContainer: '.container', 
    menu: '#menu', 
    categoryBar: '.category-bar' 
}); 

Тогда я могу подойти к региону так же, как это:

MyApp.mainContainer.show(new ShowView()); 

А может это сделать из любого модуля, который определен или что требует марионеток ссылки.

Using marionette with requirejs

Я хотел бы также порекомендовать книгу

Структурирование остов Requirejs И марионеток Дэвид Šulc.

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