重複の可能性:
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)」が両方ともモデルが追加されたことを登録していることです。