我構建了一個ember.js應用程序,該應用程序也與一些其他jQuery插件關聯。一旦呈現視圖,我需要調用一個jQuery插件。我已經嘗試連接到didInsertElement
,但顯然綁定表單字段的值在插入時未分配。當視圖完全呈現或綁定初始化時,是否存在回調?Ember.js Ember.View didRender事件
即。
MyView: Ember.View.extend
#Boaring normal stuff here
didInsertElement: ->
$('.some-class').doSomething()
和
{{view Ember.TextField valueBinding="someField" class="some-class"}}
不起作用,因爲的.some-class
值是一個沒有被設定。我不想使用setTimeout
並創建競賽條件。
也許你可以使用Ember.run.sync()強制所有綁定。但我認爲還有另一種方式。你可以發佈更多的上下文,甚至更好地做一個jsfiddle來說明。 http://jsfiddle.net/Sly7/AvgvJ/作爲基地 – 2012-07-30 17:20:46
@ sly7_7謝謝,這裏是小提琴http://jsfiddle.net/AhPyJ/,請忽略名爲'傻'的東西,我是一個新的父母和一切不愉快的現在是'傻'...我使用的插件是TinyMCE,但它不是跨域友好的,所以我只寫了一些didily插件來舉例說明錯誤。 – wmarbut 2012-07-30 19:16:33
我認爲你的代碼在你使用$('。傻領域')的時候起作用。 (你錯過了點)。注意,你可以通過調用這個函數來訪問視圖的jquery對象。$() – 2012-07-30 19:41:26