0

如何在emberjs的#each助手中检测元素是否准备就绪?Em.View 有 didInsertElement,但#each 没有...由于某些原因,我不想使用 Em.CollectionView

<ul>
  {{#each App.users}}
    <li>
      {{name}}
    </li>
  {{/each}}
  <li>abc</li>
  <li>def</li>
  <li>ghi</li>
</ul>

什么时候:

App.set('users', [{name:'xyz'},{name:'opq'}])

我想在 '<li>xyz</li>' 和 '<li>opq</li>' 准备好时做点什么。

我认为在这样一个简单的情况下,在#each 中使用 Em.View 太复杂了。

4

1 回答 1

1

你说:

由于某些原因,我不想使用 Em.CollectionView

但这正是解决方案:

App.ListItemView = Em.View.extend({
    tagName: 'li',
    didInsertElement: function() {
        do your stuff...
    }
});

App.ListView = Em.CollectionView.extend({
    tagName: 'ul',

    itemViewClass: App.ListItemView,
});

是否有不想使用 CollectionView 的实际技术原因?

于 2012-08-17T03:38:11.313 回答