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