2013-01-05 19 views
7

Ho appena aggiornato all'ultima brace e il seguente codice è rompere, ho un certo numero di queste azioni definite nel routerEmber Route.transitionTo rimosso

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

con il seguente messaggio di errore

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

Non c'è nulla nel registro modifiche di questo cambiamento ma è stato rimosso dalla classe Route. Esiste ancora nell'istanza.

In quale altro modo è possibile definire azioni come queste sul router che posso chiamare da altrove?

risposta

9

Recentemente ember ha introdotto un nuovo router. Their guides è diventato abbastanza maturo, quindi per favore controlla come implementare i tuoi percorsi.

In breve:

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

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

Le guide purtroppo non spiegano come passare da uno stato all'altro in modo programmatico –

3

Se si sta costruendo da maestro troverete ember-old-router.js nella directory dist che permetterà il vostro codice basato sul router "vecchio" per continuare l'esecuzione durante la transizione alla nuovo modo di fare le cose.

Per avere un'idea di come vanno le cose ora, controlla this gist o la sezione della guida del sito ufficiale.