Ember JS - 查看插入事件

时间:2013-03-14 18:18:02

标签: ember.js handlebars.js

我有以下Handlebars模板,其中包含一些在#each中输出的视图。

<script type="text/x-handlebars" data-template-name="thread">
  {{#view My.ContainerView}}
      {{#each message in messages}}
          {{view My.MessageView contentBinding="message"}}
      {{/each}}
  {{/view}}
</script>

我正在使用didInsertElement事件来捕获父视图的插入。

我知道在插入每个My.MessageView时会触发didInsertElement,但我想知道是否在插入了My.MessageViews的所有时触发了一个事件?意味着#each已经完成。也许有一个类似的事件可以完全渲染视图?

// Ember Noobie

1 个答案:

答案 0 :(得分:1)

关于在子视图渲染后触发jquery事件的位置,我遇到了类似的情况。在这个论坛的帮助下,我最终得到了类似的东西:

对于我在ajax中的每个项目(对于bootstrap手风琴),下面的视图会呈现一次。

App.AccItemView = Em.View.extend
  classNames: ['accordion-group']
  templateName: 'acc_item'
  didInsertElement: ->
    Ember.run.next this, ->
      @.$('.collapse').collapse({parent:"#accordion2"})

还有一个afterRender钩子,我还在试验自己。

didInsertElement: ->
    Ember.run.scheduleOnce 'afterRender', this, () ->
      @.$('.collapse').collapse({ parent:'#accordion2'})

这里有一个小提琴,如果它有用的话。 http://jsfiddle.net/nrionfx/s59fA/16/