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
、それも未定義です。docs によると、ビュー内で使用可能な要素プロパティがありますが、アクセス方法がわかりません。また、ビュー内から使用できるかどうかもわかりませdidInsertElement
ん。
ビューに挿入されたばかりの DOM 要素の ID を取得するにはどうすればよいですか? 理想的には、ビューは DOM に挿入しているものを既に認識している必要があるため、DOM で検索する必要はありません。
ps: 私はEmber 1.0preを使用しています