Sto usando ember-cli 1.13.8 e ho un servizio che gestisce gran parte della mia logica. In questo momento ho una funzione che ascolta se certe cose sono vere o false e quindi può fare un cambio di rotta in base a quello. Preferirei non dover chiamare quella funzione dall'interno di ogni rotta poiché voglio che accada su ogni percorso. Il suo obiettivo è determinare se il giocatore ha vinto e ogni interazione nel gioco lo guida.È possibile effettuare una transizione di percorso all'interno di un servizio in Ember?
All'interno del mio servizio di gioco:
init() {
...
if(true) {
console.log("you've won!");
this.transitionTo("congratulations");
}
},
Naturalmente, questo non riesce a causa this
non è una via come Ember si aspetta. So che posso chiamare questo metodo dall'interno di ogni percorso, ma mi chiedo se c'è un modo migliore per farlo.
Grazie
Modifica
Finora ho provato ad importare in App e poi cercando di estendere il router. Questa mi sembra una cattiva idea.
Wow, ok, dovrò provare questo. Non ero a conoscenza di questo. – user3162553
Funziona! Esattamente quello di cui avevo bisogno. – user3162553
Funziona in ember 2.x? Mi sta solo dicendo che il routing non è definito in Ember 2.4.0. – mikeLspohn