使用Ember.CollectionView我想访问和操作每个子视图插入的 DOM 元素。我遇到的问题是我不知道如何从内部获取对元素的引用didInsertElement
。这是jsFiddle ——coffeescript 的摘要如下:
window.App = Ember.Application.create()
window.App.initialize()
App.Item = Em.View.extend
didInsertElement: () ->
console.log ">>> element is: ", this.element
App.items = Em.ArrayController.create()
App.items.set('content',[
Em.Object.create({title:"AN", id:"item-one"}),
Em.Object.create({title:"Epic", id:"item-two"}),
Em.Object.create({title:"View", id:"item-three"})
])
App.EpicView = Ember.CollectionView.extend
classNames: ['epic-view']
contentBinding: 'App.items'
itemViewClass: 'App.Item'
this.element
未定义。我也试过打电话element
,这也是未定义的。根据文档,视图中有一个元素属性可用,但我不知道如何访问它,我不确定它是否可以从内部获得didInsertElement
。
如何获取刚刚插入视图的 DOM 元素的 id?理想情况下,我不想在 DOM 中搜索它,因为视图应该已经知道它在 DOM 中插入了什么。
ps:我使用的是Ember 1.0pre