2013-01-22 33 views
2

我正在使用最新的第4次发布的烬。在我的应用程序中,我有一些未连接到路由器的部分,但我想将所有应用程序保留在一种样式中,并使用ArrayControllerEm.CollectionViewemberjs arraycontroller

我试图做这样的事情:

var controller = Em.ArrayController.create({content: Em.A()}); 
Em.CollectionView.create({ 
    controller: controller 
}); 
controller.pushObject(Em.Object.create({ 
    title: 'test' 
})) 

,然后我得到了一个错误,“控制器”没有一个容器属性。

是否可以使用ArrayController而不是Em.Router

回答

1

是的,这是可能的。我无法重现您指定的错误,但必须进行一些更改才能正常工作。

var controller = Em.ArrayController.create({content: Em.A()}); 
controller.pushObject(Em.Object.create({title: 'dr plimpton'})); 
controller.pushObject(Em.Object.create({title: 'raj'})); 
controller.pushObject(Em.Object.create({title: 'howard'})); 
controller.pushObject(Em.Object.create({title: 'leonard'})); 

var myView = Ember.CollectionView.create({ 
    tagName: 'ul', 
    content: controller, 
    itemViewClass: Ember.View.extend({ 
    template: Ember.Handlebars.compile("{{view.content.title}}") 
    }) 
}); 

myView.appendTo('body'); 

工作示例(基于烬-1.0.0-pre.4)位置:http://jsbin.com/eticuw/1/edit