Ember.js Ember.View didRender活动

时间:2012-07-30 15:15:44

标签: javascript jquery coffeescript ember.js

我构建了一个与其他jQuery插件相关联的ember.js应用程序。我有一些表单字段,我需要在呈现视图时调用jQuery插件。我试过挂钩didInsertElement,但显然绑定表单字段的值在插入时没有分配。当视图完全呈现或绑定初始化时是否存在回调?

MyView: Ember.View.extend
    #Boaring normal stuff here

    didInsertElement: ->
        $('.some-class').doSomething()

{{view Ember.TextField valueBinding="someField" class="some-class"}}

不起作用,因为.some-class的值尚未设置。

我不想使用setTimeout并创建竞争条件。

1 个答案:

答案 0 :(得分:4)

嗯,发生了什么,是在插入视图后更新了testValue绑定。因此,您可以在$('.silly-field').doSomethingSilly();函数内调用Ember.run.next()

正如文档中所写:

Ember.run(myContext, function(){
 // code to be executed in the next RunLoop, which will be scheduled after the current one
});