如何从didInsertElement中访问element和elementId

时间:2012-09-22 07:47:56

标签: coffeescript ember.js

使用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

1 个答案:

答案 0 :(得分:3)

使用get('element')或get('elementId')访问Ember中的属性