Marionette: получить один экземпляр макета

Я создаю приложение, которое имеет несколько представлений. Каждое представление имеет область левой боковой панели и область основного содержимого.

Я добавил в макет две области -> leftSidebarRegion и mainContentRegion. Теперь для каждого из этих представлений содержимое левой боковой панели остается прежним, но mainContentRegion продолжает меняться. Это изменение в mainContentRegion управляется событиями.

Я хочу знать, как я могу получить доступ к моему экземпляру макета [созданному один раз в основном контроллере моего модуля], чтобы не перезагружать leftSidebarRegion, и я только изменяю mainContentRegion.

Дополнительная информация: у меня есть разные файлы представления для заполнения leftSidebarRegion и mainContentRegion.


person alchemist    schedule 17.11.2014    source источник


Ответы (1)


Вы можете получить доступ к региону из объекта макета.

var layout = новый макет();

layout.mainContentRegion.show (новый ViewYouWantToRender());

person The Pax Bisonica    schedule 17.11.2014
comment
Спасибо за ответ, но я думаю, что выполнение new Layout() создаст новый экземпляр моего макета, поэтому в этом случае мне придется повторно отображать leftSidebarRegion, чего я не хочу делать, если только он не был создан ранее. - person alchemist; 20.11.2014
comment
Что ж, после создания экземпляра макета вам не нужно создавать еще один экземпляр. Если вы хотите, чтобы макет был доступен глобально, просто установите его как переменную в объекте приложения при его создании в контроллере: App.myLayout = new Layout(). - person The Pax Bisonica; 20.11.2014
comment
Или вы можете установить его как переменную в модуле, если вы его используете. - person The Pax Bisonica; 20.11.2014