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

时间:2013-12-13 11:21:43

标签: javascript json backbone.js backbone-collections backbone-model

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

让我通过返回的JSON示例澄清这一点:

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

这是返回的JSON,但我只想要将'all-users'数组放在我的模型中。

此时我正在获取这样的数据:

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

我在这里只能使用'all-users'数组放置在模型中? 在Fetch中有什么东西可以做吗?或者我应该改变模型只使用all-users数组?

提前致谢!

1 个答案:

答案 0 :(得分:2)

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

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

所以你的Collection只包含parse方法返回的内容,在这种情况下是你的响应json中的all-users数组。