Gdy główny widok mojej aplikacji jest przełączany (nowa trasa, która ponownie łączy główny wylot mojego kontrolera aplikacji), chcę, aby strona przewinęła się do góry. W przeciwnym razie jest to trochę dziwne, że przechodzę do innego widoku podobnego do strony, a widok jest nadal zagubiony w miejscu, w którym przerwałam.Emberjsy przewiń do góry, zmieniając widok
Zhakowałem rozwiązanie i zastanawiałem się, czy jest lepszy sposób, czy ktoś ma to samo.
Oto, co zrobić:
App.ApplicationController = Ember.Controller.extend({
connectOutlet: function(){
window.scrollTo(0, 0);
this._super.apply(this, arguments);
}
});
Twoje podejście idealnie odpowiada na pytanie. Tak, wydaje się, że chodzi o trasy urlopowe, a nie o kontroler aplikacji. – xMartin
Możesz także ponownie otworzyć Ember.Route i sprawdzić każde zdarzenie "enter", jeśli this.childStates.length ma wartość 0, więc wiesz, że jest to trasa urlopowa. Oba podejścia pozostawiają Tobie odpowiedzialność, aby zadzwonić do this._super, jeśli chcesz użyć zdarzenia "Enter" na określonych trasach. – xMartin
Należy pamiętać, że ponowne otwarcie 'Ember.Route' polega na tym, że możesz przecenić funkcję' enter' dla ** wszystkich ** tras. Możesz zachować oryginalną funkcjonalność w ramach i rozszerzyć swoją własną bibliotekę. – MilkyWayJoe