Скрытие представления в диспетчере регионов, когда отображается другое представление

Я использую менеджера региона Marionette, чтобы управлять своими взглядами. Существует три основных области: 1] Область верхнего меню 2] Область боковой панели 3] Основная область (фактическая страница, которая постоянно меняется)

В зависимости от действий в верхнем меню и боковой панели я продолжаю изменять вид, который является рендеринг в основных регионах с использованием App.MainRegion.show(view).

Теперь есть один конкретный вид (persistView), который после отрисовки не должен закрываться, если не закрыта вкладка / браузер.

Естественно, я не могу использовать App.MainRegion.show(view) здесь по следующим причинам:

  1. Когда show(persistView) вызывается в первый раз, все в порядке.
  2. Если я уйду, show(otherview) вызовет close() из persistView. Что не требуется.

Мое текущее решение:

  1. Имейте новый регион под названием persistRegion чуть ниже mainRegion.
  2. persistView всегда будет отображаться в persistRegion.
  3. В onShow() из persistView я скрываю mainRegion и показываю peristRegion

Вышеуказанные работы, но я думаю, что это очень хакерский. Также я застрял, когда после шага 3] пользователь переходит к любому другому виду. Теперь, как мне сказать persistView, что он должен спрятаться и показать mainRegion?

Любая помощь будет высоко оценена.

8
задан CodeRain 8 June 2012 в 09:37
поделиться