2014-11-17 5 views
0

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

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

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

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

ответ

1

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

var layout = new Layout();

макет.mainContentRegion.show (новый ViewYouWantToRender());

+0

Спасибо за ответ, но я думаю, что создание нового Layout() создаст новый экземпляр моего макета, поэтому в этом случае мне придется повторно отобразить leftSidebarRegion, который я не хочу делать, если он не создан ранее. – alchemist

+0

Ну, как только макет создается, вам не нужно создавать другой экземпляр. Если вы хотите, чтобы макет был доступен глобально, просто установите его как переменную в объекте App при создании экземпляра в своем контроллере: App.myLayout = new Layout(). –

+0

Или вы можете установить его как переменную в модуле, если вы используете ее. –

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