2013-11-22 3 views
2

Мы используем магистраль/марионетку для создания большого приложения, которое разделено на множество независимых модулей. Основное приложение управляет заголовком, меню, уведомлениями и нижними колонтитулами. Он также создает экземпляр маршрутизатора каждого модуля и передает ему центральную область страницы приложения, так что модуль может отображать себя.Магистральная/марионетка - Несколько маршрутизаторов, глубокая связь?

У нас есть маршрутизатор в главном приложении, который отвечает на URL-адрес по умолчанию, инициализируя и отображая меню и т. Д. Меню направляется к модулю, добавляя хэш-тег к URL-адресу. Маршрутизатор каждого модуля смотрит на соответствующий хеш и отвечает, показывая его содержимое в регионе, которое оно дало главному приложению.

Все это работает нормально, пока пользователь не захочет добавить закладку (или просто обновить) страницу модуля. Когда это происходит, маршрутизатор модуля правильно реагирует на URL с хешем на нем, но основной маршрутизатор не получает вызова для повторной инициализации меню и нижних колонтитулов, поэтому модуль отображается на полной странице (без каких-либо верхних и нижних колонтитулов).

Я думаю, что основной маршрутизатор должен запустить маршрут по умолчанию, прежде чем маршрутизатор модуля запустит свое событие. Этого не происходит.

Кто-нибудь знает, как я должен это реализовать? ТИА.

ответ

0

Это может быть каким-то помощь/вдоха:

Backbone.Marionette Change Region when Route changes

В принципе, связать обработчик Backbone/событие изменения маршрута марионетки, а также обновление меню из этого обработчика.

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