使用Ember.CollectionView我想访问和操作每个子视图插入的DOM元素。我遇到的问题是我不知道如何从didInsertElement
中获取对元素的引用。这是the jsFiddle - 咖啡的总结如下:
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
,这也是未定义的。 According to the docs,视图中有一个可用的元素属性,但我不知道如何访问它,我不确定它是否可以从didInsertElement
内获取。
如何获取刚刚插入视图的DOM元素的id?理想情况下,我不想在DOM中搜索它,因为视图应该已经知道它插入到DOM中的内容。
ps:我正在使用 Ember 1.0pre
答案 0 :(得分:3)
使用get('element')或get('elementId')访问Ember中的属性