2

オブジェクト「子を持つ人」にネストされたリストを作成しようとしましたが、子はすべての親の幅で共有されています。これはリンクhttp://jsfiddle.net/Lz7CD/5/です。

ありがとう

4

1 に答える 1

4

問題は、extend()への引数として渡されるオブジェクトリテラルがクラスによってインスタンス化されるオブジェクトのプロトタイプのプロパティを定義するため、dp配列がすべてのオブジェクトで同じであるということです。http://wwwを参照してください。 cerebris.com/blog/2012/03/06/understanding-ember-object/(特におよび)App.PersonExtending classesInitialization (and a common mistake!)

これは、が作成されたときにdp配列を作成することで解決できます。http ://jsfiddle.net/pangratz666/AVzeQ/を参照してください。initPerson

App.Person = Em.Object.extend({
    name:null,
    init: function(){
        this._super();
        this.set('dp', []);
    },
    addItem:function(item){
        this.get('dp').push(item);
    }
});
于 2012-07-11T09:57:10.497 に答える