1

我有以下 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

4

1 回答 1

1

关于在子视图呈现后在何处触发 jquery 事件,我遇到了类似的情况。在这个论坛的一些帮助下,我最终得到了这样的结果:

下面的视图为我 ajax 中的每个项目呈现一次(对于引导手风琴)。

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/

于 2013-03-14T18:27:53.283 回答