迭代Backbone集合

时间:2011-12-01 21:48:00

标签: javascript backbone.js

我为Users设置了一个骨干集合,当我执行fetch方法时,我从服务器返回一个JSON对象:{"users": [{...}, {...}, ...], size: number}。令人困惑的是,当我执行下面的代码而不是获取每个user对象时,我得到一个“子”对象,它有两个属性用户大小;任何人都可以帮我理解为什么?感谢。

display: function(){
  this.collection.each(function(user){ 
    console.log("main", user); 
  });
}

2 个答案:

答案 0 :(得分:7)

在名为parse:

的集合上添加一个方法
var collection = new Backbone.Collection({
   parse: function(response) {
       return response.users;
   }
});

答案 1 :(得分:4)

这对我来说非常有意义。查看JSON:它有两个属性:用户大小。

您可能只想迭代collection.users

display: function(){
  this.collection.users.each(function(user){ 
    console.log("main", user); 
  });
}

或者,只是将collection分配给foo.users而不是foo(其中foo是通过解析返回的JSON创建的对象)。