2015-08-13 58 views
1

我想在DOM準備就緒時執行一個簡單的操作。我嘗試使用on('init'),但在模板加載之前觸發。我看到了一些組件選項,但我沒有使用組件。模板加載時執行代碼

這裏是我的代碼:

export default Ember.Route.extend({ 
    onTemplateLoaded: function() { 
    console.log('message') 
    }.on('init') 
}) 

很簡單。我的問題是基本的,但我找不到解決方案。你可以幫我嗎?

回答

1

取決於你正在嘗試做什麼。如果你想要做的事特定的路線上你目前結束了views/index.js

export default Ember.View.extend({ 
    didInsertElement: function(){ 
    this._super(); 
    this.$().append("<h1>hi</h1>"); 
    } 
}); 

參見:http://emberjs.jsbin.com/kegere/2/edit?html,js,output

+0

查看對象的作品與Ember「1.13」?我在指南中看不到它。 – Dougui

+0

你確定這是最好的方法嗎? Ember 1.13似乎不喜歡那樣。 – Dougui

+0

@Dougui我的jsbin是燼1.13,所以是的,明顯。我不確定爲什麼在1.13中沒有提到視圖,但是控制器正在被組件替換爲2.0。在這種情況下,您最終會得到幾乎相同的代碼,用Ember.Component替換Ember.View,並在模板中明確聲明組件,或使用可路由的組件。 –