Próbuję obserwować zmianę trasy, aby zastosować pewną wspólną akcję po wyrenderowaniu. Chodzi o to, aby mieć funkcję podobną do onload
, ale ponieważ używamy aplikacji z jedną stroną, musi ona zostać uruchomiona przy każdej zmianie trasy. (Może być zawężona do nowego widoku)Zmiana trasy objazdowej w celu zastosowania równoważnego do obciążenia
znalazłem jak obserwować zmiany currentPath:
App.ApplicationController = Ember.Controller.extend({
currentPathDidChange: function() {
prettyPrint()
}.observes('currentPath');
});
Chociaż to działa dobrze w niektórych przypadkach robi wyzwalane, gdy zmienia się trasa, ale jeszcze za wcześnie, aby zastosować zmiany zawartości, które wydają się dołączać, zanim treść zostanie wyrenderowana.
Czy masz pomysł na najlepszą praktykę, aby osiągnąć taki cel?
Zostawiłem odpowiedź, ale sugerowałbym, że w wielu przypadkach jest to anty-wzorzec, jeśli trzeba czekać na wyświetlenia, aby pozbyć się DOM. Być może jest lepsze miejsce do umieszczania manipulacji DOM, co robisz, np. 'MadeInsertElement' niektórych widoków? –
Jeśli implementujesz widoki, możesz to zrobić w ['didInsertElement'] (http://emberjs.com/api/classes/Ember.View.html#event_didInsertElement) – MilkyWayJoe