いくつかのネストされたモデルでバックボーンを使用しています。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>