2013-05-07 3 views
13

В моем приложении у меня есть требование, чтобы функциональная область открывалась в оверлее, так что она сидит поверх текущего маршрута, который может быть практически любым другим маршрутом в приложении.Несколько маршрутизаторов в ember.js?

Эта функциональная область будет иметь свои собственные маршруты, поскольку она содержит по крайней мере представление главной детали.

Какова нынешняя передовая практика для решения этой проблемы?

Возможно ли иметь маршруты верхнего уровня, которые не срывают текущий маршрут/точки при их вводе? Если это не так, и необходимо, чтобы ApplicationController (или аналогичный) обрабатывал глобально доступный оверлей, как наилучшим образом реализовать функции, подобные маршрутизаторам для этой области?

+0

Возможно, Ember.Namespace http://emberjs.com/api/classes/Ember.Namespace.html представляет интерес для такого архитектурного задания, но не обязательно. – intuitivepixel

+1

, видя, что этот вопрос все еще остается без ответа, заставляет меня думать о другом возможном способе использования маршрутизатора как функции для вашей области обмена сообщениями, StateManager ember: http://emberjs.com/api/classes/Ember.StateManager.html – intuitivepixel

+0

Да, я думал, что я возможно, придется использовать отдельный StateManager. Я должен пересмотреть эту область в ближайшее время, обновится здесь, если у меня будет какой-то успех. –

ответ

1

Я думаю, что вы запутались в в оверлее Требование, и вы пытаетесь решить несуществующую проблему.

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

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

+0

Для этой конкретной особенности требуется, чтобы она могла открывать __on top__ любого другого маршрута, поэтому невозможно просто перейти к маршруту на существующем маршрутизаторе. Подумайте об этом как о сложном модальном, который имеет свои собственные «маршруты», но не представленные в URL-адресе вообще. Я удалил формулировку «сообщений» из вопроса, поскольку я думаю, что, возможно, это путают. –

+0

@KevinAnsfield Теперь для меня это похоже на то, что вам нужно представление - http://emberjs.com/guides/views/ Вы можете вставить его во многие места (разные маршруты) в своем приложении. Он имеет собственный контроллер, может привязывать свойства к контроллеру/шаблону, где он был встроен, чтобы вы могли повторно использовать его в своем приложении. –

+0

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

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