我尝试将e嵌套列表创建到一个对象“有孩子的人”中,但是孩子们共享宽度为所有父母,这是一个链接http://jsfiddle.net/Lz7CD/5/。
感谢
答案 0 :(得分:4)
问题是dp
数组对于所有App.Person
个对象都是相同的,因为作为参数传递给extend()的对象文字定义了对象原型的属性。由班级实例化,请参阅http://www.cerebris.com/blog/2012/03/06/understanding-ember-object/(特别是Extending classes
和Initialization (and a common mistake!)
)
这可以通过在创建dp
时在init
内创建Person
数组来解决,请参阅http://jsfiddle.net/pangratz666/AVzeQ/:
App.Person = Em.Object.extend({
name:null,
init: function(){
this._super();
this.set('dp', []);
},
addItem:function(item){
this.get('dp').push(item);
}
});