我有骨干关系模型的复杂嵌套结构。每次我销毁一个模型时,预计关系中的所有模型都会被销毁。我该怎么做?骨干关系不负责。
我宁愿重载自定义模型的骨干模型销毁方法。因此,您可以销毁嵌套模型。之后,您可以使用Backbone.Model.prototype.destroy.call(this)销毁模型;
例:
var MyModel = Backbone.Model.extend({
destroy: function(){
var xhr = this.myNestedModel.destroy();
xhr.always(_.bind(function(){
Backbone.Model.prototype.destroy.call(this);
},this));
//or if you don't want to wait for the response without always
//Backbone.Model.prototype.destroy.call(this);
}
});
重载销毁的另一种方法是使用事件来传播更改。确切的设置和复杂性将取决于您定义的关系以及创建和销毁模型的方式。