Подтвердить что ты не робот

Как создать 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"?

4b9b3361

Ответ 1

Если это единственная коллекция в вашем приложении для работы с таким api, все, что вам нужно сделать, это переопределить для него метод parse:

App.Collections.Users = Backbone.Collection.extend({
    // ...
    parse: function(resp, xhr) {
        return resp.users
    }
})

Если вам также нужно сохранить свои модели, возможно, вам придется переопределить Backbone.sync. Не стесняйтесь читать базовый источник: он полностью аннотирован и прост в использовании.