我正在嘗試觀察路徑變化,以應用一些渲染後的常見操作。這個想法是有一個類似於onload
的功能,但是因爲我們使用單頁應用程序,所以需要在每個路線更改時觸發它。 (可作用域爲新視圖)Obversing route change to apply equivalent to onload
我發現如何觀察currentPath變化:
App.ApplicationController = Ember.Controller.extend({
currentPathDidChange: function() {
prettyPrint()
}.observes('currentPath');
});
雖然這部作品在某些情況下好,它就會被觸發時的路線變化,但仍早應用內容更改,因爲它似乎在內容呈現之前附加。
有關實現此目標的最佳實踐的任何想法?
我留下了一個答案,但我會建議在很多情況下,如果您必須等待視圖才能使用DOM,它實際上是一種反模式。也許有更好的地方來放置你正在做的任何DOM操作,比如某個視圖的'didInsertElement'? –
如果你實現了視圖,你可以在['didInsertElement'](http://emberjs.com/api/classes/Ember.View.html#event_didInsertElement) – MilkyWayJoe