2014-07-23 34 views
2

我有一個問題將Ember變成現有的網站模板。餘燼在哪裏把jquery現成的功能?

該網站的一些視覺效果是基於JavaScript的,必須進行初始化。網頁設計的 靜態HTML的版本使用的腳本標籤下面的代碼

jQuery(document).ready(function() { 
    Main.init(); 
}); 

如果加載的網站直接向一個途徑(例如呼叫本地主機:9000 /#/內容/網絡)視覺效果不起作用。 如果我將頁面加載到它的根目錄(我沒有定義的內容可以通過ember顯示),一切都沒問題(即使我點擊鏈接到內容/網頁,內容顯示正確)。

原因init腳本放在頁面結束,我猜通過ember-logic顯示的內容阻止它的執行。

有誰知道如何將這樣的init序列與正確的方式與燼?

+0

你可能曾經有'在查看didInsertElement'鉤一看class..i以爲會像你想要的。 – thecodejack

回答

1

像@CodeJack提到你應該創建一個視圖並重寫'didInsertElement'鉤子。 jquery pluging應該被包裹在視圖中。它使刪除視圖時更容易清理插件。

這就是說,餘燼JS確實有在DOM準備好被轟出ready事件。 您可以使用它像

Ember.Application.create({ 
    ready: function() { 
    //do ur initialization. 
    } 
}); 
+0

尊敬的@blessenm,把這段代碼放在哪裏? http://stackoverflow.com/questions/39402054/ember-personal-generic-javascript-code-where-to-put-application-component –

+0

@JohnSam我很長時間沒有與燼工作過。但我認爲有ember-cli生成的app.js或application.js,並且此代碼將會去那裏。但我會建議只使用組件。如果您想在應用程序啓動時初始化某些內容,請在應用程序模板文件中創建一個根組件,並在組件中完成所有初始設置。我希望我可以更具體,但我的燼知識已經過時。 – blessenm