I work with a relational database with HasMany relationships. The add event will be fired, but the change event will not.
Model1 = Backbone.RelationalModel.extend({
urlRoot: '/Leve1/',
initialize: function () {
this.listenTo(this, 'add:relatedModels', this.relationModelAdd);
this.listenTo(this, 'change:relatedModels', this.relationModelChange);
},
relations: [{
type: Backbone.HasMany,
key: 'relatedModels',
relatedModel: 'InnerModel'
}],
relationModelAdd: function () {
alert("Add in related model");
},
relationModelChange: function () {
alert("Change in related model");
}
});
InnerModel = Backbone.RelationalModel.extend({
urlRoot: '/Level2/'
});
var outerModel = new Model1({
id: 'model1',
});
var innerModel = new InnerModel({
id: 'model11',
});
outerModel.get('relatedModels').add(innerModel);
innerModel.set({
id: 'model13'
});
Change an event using a HasOne relationship, but not with HasMany.
Umesh source
share