2013-03-06 13 views
7

Ho un'applicazione Ember composta da 3 percorsi:Emberjs: transitionToRoute nello stesso percorso con diverso valore del modello

  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' });

la transizione possibile è dal territorio all'aggregatore, dall'aggregatore all'elemento e dall'elemento a un sottoelemento. L'elemento secondario usa lo stesso percorso (il terzo), semplicemente cambiando il valore iID nel modello di percorso.

avevo creato un'azione che permette all'utente di muoversi in un particolare percorso con una certa logica e alla fine eseguire il comando:

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

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

controller.transitionToRoute(destination, model); 

Se io sono nel percorso elemento e voglio spostare ad un altro elemento, l'URL si aggiornerà, ma non il contenuto della pagina. Ovviamente se aggiorno la pagina con l'URL di generazione il contenuto verrà aggiornato.

Dov'è il problema? nel metodo di transizione che è deprecato, o devo usare qualcosa di diverso?

IMPORTANTE: sto usando EmberJS - V1.0.0-RC.1

+0

Mi sto imbattendo in questo stesso problema: sei riuscito a capirlo? –

+0

Lo stesso problema qui. Mai arrivare da nessuna parte con questo? – elsurudo

risposta

0

non è un bug è solo una situazione normale in emberjs perché ogni percorso ha model e setupController. La funzione modello viene utilizzata per ricevere in modo asincrono dal modulo WS o Data le informazioni necessarie (è un RSVP.Promise). Al termine, le informazioni verranno passate alla funzione setupController, dove saranno possibili le proprietà del controller collegate alla vista del percorso corrente. Ogni volta che cambio il valore del percorso ma non la rotta, verrà chiamato solo setupController. Per concludere, nel mio caso, il problema era solo un problema di organizzazione del codice.

Problemi correlati