2013-03-06 22 views
7

mam aplikacji Ember składającą się z 3 trasy:Emberjs: transitionToRoute w jednym odcinku z inną wartością modelu

  1. router.route('territory', { path: 'localhost/app/territory/:tid' });

  2. router.route('aggregator', { path: localhost/app/territory/:tid:/aggregator/:aid' });

  3. router.route(territory, { path: 'localhost/app/territory/:tid/aggregator/:aid/item/:iid' });

możliwe przejścia to z terytorium do agregatora, z agregatora do elementu i od elementu do elementu podrzędnego. Podpunkt używa tej samej trasy (trzeciej), po prostu zmieniając wartość identyfikatora iID w modelu trasy.

I stworzył akcję, która pozwala użytkownikowi przenieść się do danej trasie z pewnej logiki i na końcu uruchomić polecenie:

model={ 
    tid: "ttt" 
    aid: "aaa" 
    iid: "iii" 
} 

destination = 'item'; //the name of item route 

controller.transitionToRoute(destination, model); 

Jeśli jestem w trasie pkt i chcę przenieść do innej pozycji URL zostanie zaktualizowany, ale nie zawartość strony. Oczywiście jeśli odświeżę stronę z generowanym adresem URL, zawartość zostanie zaktualizowana.

Gdzie jest problem? w metodzie przejścia, która jest przestarzała, czy muszę użyć czegoś innego?

WAŻNE: Używam EmberJS - v1.0.0-RC.1

+0

Występuję w tej samej sprawie - czy udało ci się to rozgryźć? –

+0

Ten sam problem tutaj. Czy kiedykolwiek dostałeś się w to miejsce? – elsurudo

Odpowiedz

0

nie jest to błąd jest po prostu normalna sytuacja w emberjs ponieważ każda trasa ma model i setupController. Funkcja modelu służy do pobierania asynchronicznie z WS lub modułu danych niezbędnych informacji (jest to RSVP.Promise). Po zakończeniu informacja zostanie przekazana do funkcji setupController, gdzie będzie możliwe ustawienie właściwości kontrolera połączonego z widokiem aktualnej trasy. Za każdym razem, gdy zmieniam wartość ścieżki, ale nie trasę, zostanie wywołana tylko setupController. Podsumowując, w moim przypadku problem był tylko organizacyjnym problemem kodu.