Как создать Backbone Collection из вызова API JSON, который возвращает параметры корня, а также массив
Backbone.js noob здесь.
Я хочу создать коллекцию из API JSON, внешнего для моего приложения. В частности, api из Stackoverflow. Я знаю, что я должен установить параметр url из коллекции следующим образом:
App.Collections.Users = Backbone.Collection.extend({
model: User,
url: "http://api.stackoverflow.com/1.1/users/800271;562692?jsonp=?&key=blahblah"
});
Проблема заключается в том, что API JSON возвращает что-то вроде:
{
"total": 2,
"users": [
{
"user_id": 800271,
},
{
"user_id": 800272,
}
]
}
}
Как игнорировать атрибут "total"?
Ответы
Ответ 1
Если это единственная коллекция в вашем приложении для работы с таким api, все, что вам нужно сделать, это переопределить для него метод parse
:
App.Collections.Users = Backbone.Collection.extend({
// ...
parse: function(resp, xhr) {
return resp.users
}
})
Если вам также нужно сохранить свои модели, возможно, вам придется переопределить Backbone.sync
. Не стесняйтесь читать базовый источник: он полностью аннотирован и прост в использовании.