2013-01-05 12 views
7

Właśnie uaktualniony do najnowszej węgielek i następujący kod łamie, mam wiele z tych działań określonych w routerzeEmber Route.transitionTo usunięte

App.Router = Em.Router.extend 
    showUser: Ember.Route.transitionTo('root.users.user') 

z następującym komunikatem o błędzie

Uncaught TypeError: Object Ember.Route has no method 'transitionTo'

W dzienniku zmian nie ma nic o tej zmianie, ale została ona usunięta z klasy Trasa. Nadal istnieje na instancji.

Jak inaczej mogę zdefiniować takie akcje na routerze, do którego mogę zadzwonić z innych źródeł?

Odpowiedz

9

Ostatnio ember wprowadził nowy router. Their guides jest całkiem dojrzały, więc sprawdź, jak wdrożyć trasy.

W skrócie:

App.Router.map(function(match) { 
    match('/').to('index'); 
    match('/posts').to('posts'); 
}); 

App.IndexRoute = Ember.Route.extend({ 
    redirect: function() { 
    this.transitionTo('posts'); 
    } 
}); 
+1

Przewodniki niestety nie wyjaśniają, jak programowo przejść między stanami –

3

Jeśli budujesz od mistrza znajdziesz ember-old-router.js w katalogu dist, który pozwoli kod na podstawie „starej” router kontynuować jazdę podczas przejścia do nowy sposób robienia rzeczy.

Aby zorientować się, jak to wszystko jest teraz, sprawdź numer this gist lub oficjalną sekcję przewodnika.