Backbone集合:如何从API中获取特定对象以放置在模型中

Backbone Collection: How to fetch a specific object from API to place in model

本文关键字:对象 模型 获取 集合 API Backbone      更新时间:2023-09-26

我正在使用一个集合从API获取数据,以将其放置到模型中。我确实从API接收所有数据,但是数据是在一个对象中返回的,我只需要这个对象的一部分。

让我用一个返回的JSON:的例子来说明这一点

{
    "all-users":
         [
              {"username":"poekoe","lastsyncdate":"1376496898"},
              {"username":"plaap","lastsyncdate":"1376494547"}
         ],
     "total-users": "10",
     "selected": 2
}

这是返回的JSON,但我只想把"所有用户"数组放在我的模型中。

在这一点上,我正在获取这样的数据:

 var userCollection = new UserCollection;
 userCollection.fetch({
     data: {
         "search": "p",
         "session: login.session
     }
 });

在这里,我可以做些什么来只使用要放置在模型中的"所有用户"数组?Fetch里有什么我能做的吗?还是应该将模型更改为仅使用所有用户数组?

提前感谢!

您可以覆盖集合的解析方法:

var UserCollection = new Backbone.Collection.extend({
  parse: function(data){
    return data["all-users"];
  }
});

因此,您的Collection将只包含解析方法返回的内容,在本例中是响应json中的all-users数组。