2013-10-03 34 views
0

我有一個EmberJS應用程序,我試圖調用一個jQuery的函數,在頁面上定位一些div元素使用.css()爲特定的句柄模板。Emberjs:Jquery函數沒有被調用後,把手模板加載

我的問題是,當EmberJS加載到我的應用程序的模板(無論是通過url更改,或者{{linkTo}},jquery函數都不會被解僱,也就是說,如果我刷新頁面,此外,我有一個事件監聽器,如果頁面更改寬度,這將導致函數重新啓動,並且這也可以正常工作。

我的猜測是,Ember實際上並沒有調用jquery函數模板是最初加載的。無論如何解決這個問題?我想知道如果也許我應該嘗試使用手柄來直接調用我的scripts.js函數?感謝您的幫助!

此外,這可能沒有利用視圖?也許只是使用把手和組件?

+0

你能分享一些代碼? –

+1

您需要在其中一個視圖中運行jQuery代碼。在我的博客學習如何做到這一點http://mavilein.github.io/javascript/2013/08/01/Ember-JS-After-Render-Event/ – mavilein

回答

2

您需要在您的視圖的didInsertElement方法中放入類似的代碼。因此,例如,如果你的模板是project/index,你會怎麼做:

App.ProjectIndexView = Ember.View.extend({ 
    template: 'project/index', 
    didInsertElement: function() { 
    /// Your jQuery code here 
    } 
}); 
+0

真棒:)要去它。 – DeliciousMe

+0

雖然我不知道我是否可以在不使用視圖的情況下執行此操作... – DeliciousMe

+0

爲什麼你不想使用視圖? – chopper