迭代骨干集合

发布于 2024-12-19 05:47:20 字数 392 浏览 0 评论 0原文

我已经为 Users 设置了一个主干集合,当我执行 fetch 方法时,我会返回一个 JSON 对象,格式如下:{"users": [{...}, {...}, ...],大小:数字} 来自服务器。令人困惑的是,当我执行下面的代码时,我得到的不是每个 user 对象,而是一个“子”对象,它有两个属性users 和大小;谁能帮我理解为什么?谢谢。

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

I've setup a backbone collection for Users and when I execute the fetch method, I get back a JSON object along the lines of: {"users": [{...}, {...}, ...], size: number} from the server. Confusingly, when I execute the code below, instead of getting each user object, I get a single "child" object, which has two attributes: users and size; can anyone help me understand why? Thanks.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

恏ㄋ傷疤忘ㄋ疼 2024-12-26 05:47:20

在集合上添加一个名为 parse 的方法:

var collection = new Backbone.Collection({
   parse: function(response) {
       return response.users;
   }
});

Add a method on the collection called parse:

var collection = new Backbone.Collection({
   parse: function(response) {
       return response.users;
   }
});
烂柯人 2024-12-26 05:47:20

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

您可能只想迭代 collection.users

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

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

This makes perfect sense to me. Look at the JSON: it has two properties: users and size.

You probably just want to iterate over collection.users:

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

Alternately, just assigned collection to foo.users instead of foo (where foo is the object created by parsing the returned JSON).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文