我试图了解Ember.CollectionView 的工作原理,并且在 DOM 中显示ArrayController的内容时遇到了一个基本问题。这是我的小 jsfiddle 实验,你可以自己看看。这是咖啡脚本:
window.App = Ember.Application.create()
window.App.initialize()
App.Item = Em.View.create
tagName:'li'
willInsertElement: () ->
console.log "I **WILL** indert the element", this.$()
didInsertElement: () ->
console.log "I **DID** insert the element", this.$()
template: Ember.Handlebars.compile("~~ {{view.content.title}} ~~")
App.items = Em.ArrayController.create()
App.items.set('content',[
Em.Object.create({title:"AN"}),
Em.Object.create({title:"Epic"}),
Em.Object.create({title:"View"})
])
App.epicView = Ember.CollectionView.create
classNames: ['epic-view']
contentBinding: 'App.items'
itemViewClass: 'App.Item'
App.epicView.appendTo('body')
正如您在该小提琴的输出中看到的那样,我无法弄清楚如何访问和显示列表中对象的标题。当我使用对它的调用将视图附加到正文时,App.epicView.appendTo('body')
它似乎迭代了三个对象,但不打印任何内容。
任何想法我在这里想念什么?
ps:我使用的是Ember 1.0pre