backbone.js не сохраняет модель с обновленными атрибутами
usersCollection.fetch({
success: function () {
var getModel = usersCollection.where(checkIDJSON);
//update that partcular attribute
getModel.set('interest', 'rolling stones');
console.log("Users:" + usersCollection.toJSON());
},
error: function () {
// something is wrong..
}
});
После запуска кода, он жалуется, что функция не определена, при попытке сохранить в модель. Есть идеи почему? Спасибо
Я использую backbone.js в Titanium Mobile
1 ответ
Решение
где
collection.where(attributes)
Вернуть массив всех моделей в коллекции, которые соответствуют переданным атрибутам.
Итак, когда вы говорите это:
var getModel = usersCollection.where(checkIDJSON);
вы в конечном итоге с массивом моделей в getModel
, Если вы уверены, что будет соответствовать только одна модель, используйте findWhere
:
findWhere
collection.findWhere(attributes)
Так же, как где, но напрямую возвращает только первую модель в коллекции, которая соответствует переданным атрибутам.
как это:
var getModel = usersCollection.findWhere(checkIDJSON);
Если может быть несколько совпадений, то, вероятно, вы захотите позвонить set
на каждом.