Quando viene cambiata la vista principale dell'applicazione (nuova rotta che ricollega l'uscita principale del controller dell'applicazione) Voglio che la pagina venga spostata verso l'alto. Altrimenti è un po 'strano navigare in un'altra vista simile a una pagina e il viewport è ancora perso da qualche parte dove ho lasciato.Emberjs scorre verso l'alto quando si cambia vista
Ho violato una soluzione e mi chiedo se c'è un modo migliore o se qualcuno ha la stessa cosa.
Ecco quello che faccio:
App.ApplicationController = Ember.Controller.extend({
connectOutlet: function(){
window.scrollTo(0, 0);
this._super.apply(this, arguments);
}
});
Il tuo approccio risponde perfettamente alla domanda. Sì, sembra riguardare i percorsi di ferie e non il controller dell'applicazione. – xMartin
Puoi anche riaprire Ember.Route e controllare ogni evento "invio" se this.childStates.length è 0, quindi sai che è un percorso di partenza. Entrambi gli approcci lasciano a te la responsabilità di chiamare questo._super se è necessario utilizzare l'evento "invio" in percorsi specifici. – xMartin
Ricorda che riaprire 'Ember.Route' è che ti verrebbe a sovraccaricare la funzione' enter' per ** tutti ** i percorsi. Potresti voler mantenere la funzionalità originale nel framework ed estenderla sulla tua lib. – MilkyWayJoe