我正在使用带有一些嵌套模型的主干。我在父模型和子模型上有一堆用于 UI 更新的更改处理程序(下面的简化版本)。我遇到的问题是,只要我在父模型上调用 save() 并且 JSON 从服务器返回,子模型数据就会更新,但它不再被识别为主干模型,并且我的处理程序都失败了.
ChildModel = Backbone.Model.extend({
defaults: {
property: "property"
}
});
ParentModel = Backbone.Model.extend({
defaults: {
childModel: new ChildModel()
},
url : "resturl",
initialize: function () {
this.bind('change:childModel', this.changeHandler, this);
},
changeHandler: function () {
var child = this.get('childModel');
if(child instanceof Backbone.Model){
alert("is a backbone model");
} else {
alert("is not a backbone model")
}
}
});
var parent = new ParentModel();
parent.save()
当调用 parent.save() 时,模型会更新,但“不是主干模型”会收到警报。</p>