0

重複の可能性:
Backbone.js の空の配列属性

私はバックボーン プロジェクトに取り組んでいて、問題が発生したので、単純にモックアップしましたが、理解できないことがいくつかありました。コードは次のとおりです。

(function(){
    myModel = Backbone.RelationalModel.extend({
        idAttribute: 'id',
        relations: [{
            type: Backbone.HasMany,
            key: 'mysubmodels',
            relatedModel: 'mySubmodel',
            reverseRelation: {
                key: 'mymodel',
                includeInJSON: 'id',
            },
        }],
    });
    mySubmodel = Backbone.RelationalModel.extend({
        idAttribute: 'id',
    });
    myCollection = Backbone.Collection.extend({
        model: myModel,
    }); 
    myView = Backbone.View.extend({
        initialize: function(){
            this.collection.bind('add', this.doSomething);
        },
        doSomething: function(){
            console.log('a model has been added')
        },
    });
}());

$(document).ready(function(){   
    var data = {
        id:1,
        data: 'this is one',
        mysubmodel: {
            data: 'hello'
        }           
    };

    var cltn = new myCollection();
    console.log(cltn);
    var vw = new myView({collection: cltn});

    var mdl = new myModel(data);
    cltn.add(mdl);
    console.log(cltn);
});

基本的に、私を混乱させている部分は、モデルが最初のログのに追加されたという事実にもかかわらず、下部にある 2 つの「console.log(cltn)」が両方ともモデルが追加されたことを登録していることです。

4

0 に答える 0