2013-05-07 15 views
13

W mojej aplikacji mam wymaganie, aby obszar funkcjonalny był otwierany w nakładce tak, aby znajdował się nad bieżącą trasą, która może być prawie dowolną inną trasą w aplikacji.Wiele ruterów w ember.js?

Ten obszar funkcjonalny będzie miał swoje własne trasy, gdyż zawiera co najmniej widok master-detail.

Jakie są obecnie najlepsze praktyki w radzeniu sobie z tą sytuacją?

Czy to możliwe, aby mieć tras najwyższego poziomu, które nie zburzyć aktualnej trasy/widoki podczas wchodzenia do nich? Jeśli nie i konieczne jest, aby kontroler ApplicationController (lub podobny) obsługiwał globalnie dostępną nakładkę, jaki jest najlepszy sposób uzyskania funkcji podobnej do routera dla tego obszaru?

+0

może Ember.Namespace http://emberjs.com/api/classes/Ember.Namespace.html ma znaczenie dla tego rodzaju zadania architektonicznego, ale nie wiem, trudne. – intuitivepixel

+1

widząc to pytanie wciąż bez odpowiedzi sprawia, że ​​myślę o innym możliwym sposobem uzyskania funkcjonalności routera jak na danym obszarze wiadomości, Ember za StateManager: http://emberjs.com/api/classes/Ember.StateManager.html – intuitivepixel

+0

Tak, myślałem I może być konieczne użycie osobnego menedżera StateManager. Mam zamiar wkrótce odwiedzić ten obszar, zaktualizuję go tutaj, jeśli będę miał jakikolwiek sukces. –

Odpowiedz

1

Chyba irytować przez otwartej w nakładka wymogiem i staramy się rozwiązać nieistniejącego problemu.

Otwarcie funkcjonalność wiadomości w innej strony w swojej aplikacji lub otwierając go jako nakładki na górze aplikacji jest po prostu rzeczą, że projekt powinien być obsługiwane przez CSS i istniejącego routera aplikacji. Wystarczy utworzyć trasę wiadomości, kontroler, itp

Nie mów tak, ale w przypadku, gdy chcesz uruchomić odrębny wniosek tam, najlepszym rozwiązaniem jest, aby otworzyć go w iframe. Nowa aplikacja, nowy cykl życia itp. Ponownie, sposób wyświetlania w innej aplikacji to tylko kwestia CSS.

+0

Dla tej konkretnej funkcji wymagane jest, aby móc otworzyć __on top__ dowolnej innej trasy, więc nie można po prostu przejść do trasy na istniejącym routerze. Pomyśl o tym jako o złożonym modalu, który ma własne "trasy", ale w ogóle nie jest reprezentowany w adresie URL. Usunąłem "wiadomość" z tego pytania, ponieważ myślę, że może to być mylące. –

+0

@KevinAnsfield Teraz dla mnie wygląda na to, że potrzebujesz widoku - http://emberjs.com/guides/views/ Możesz wstawić go w wielu miejscach (różnych trasach) w swojej aplikacji. Ma własny kontroler, może powiązać właściwości z kontrolerem/szablonem, w którym został osadzony, dzięki czemu można go ponownie wykorzystać w całej aplikacji. –

+0

W tej części rozumiem, z czym mam problem, aby ustalić, w jaki sposób powiązać wiele kontrolerów i widoków w ramach jednego widoku, jak śledzić stan w tym widoku i jak śledzić stan widoku widoczny/ukryty. –