如何在CollectionView中显示ArrayController的内容

时间:2012-09-21 22:34:26

标签: coffeescript ember.js

我想了解Ember.CollectionView的工作原理,我在DOM中显示ArrayController的内容时遇到了一个基本问题。这是my little jsfiddle experiment所以你可以亲自看看。这是coffeescript:

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

1 个答案:

答案 0 :(得分:2)

我会做这样的事情:http://jsfiddle.net/Sly7/nevW2/67/

声明您的视图(使用extend)而不是实例化它们(使用create)