我在我的所有Backbone集合的超类上创建了此函数:
updateModel: function (_id, updateInfo) {
for (var i = 0; i < this.models.length; i++) {
var model = this.models[i];
if (String(model.get('_id')) == String(_id)) {
model.set(updateInfo);
break;
}
}
},
该功能的目的是简单地通过给定服务器定义的
_id
属性来更新模型。我编写的功能有用吗?还是我应该简单地使用它代替:
collection.add(model, {merge: true});
最佳答案
尝试这个:
updateModel: function (_id, updateInfo) {
this.some(function (oneModelInfo) {
if (_id == oneModelInfo._id) {
oneModelInfo.set(updateInfo);
return true;
}
});
},