首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从集合内部创建集合

从集合内部创建集合
EN

Stack Overflow用户
提问于 2014-01-10 00:35:23
回答 2查看 69关注 0票数 0

我有一个集合,当获取它时得到一个json并放入集合: JSON格式是:

代码语言:javascript
复制
[ 
  {
    name: 'Hello',
    age: '22',
    bio: [{
      interest: 'soccer',
      music: 'r&B'
    }]
  }
]

我想做另一个收集从生物(而不是再次抓取)。原因是我想同时访问姓名、年龄和bio,而解析函数只能返回一次?

代码语言:javascript
复制
var user = new Backbone.Collection.extend({
  url: '/user',

  parse: function (response) {
    //I want both of this?
    //return response;
    return response.bio;
  }
});

我将此集合传递到两个不同视图的成功函数上。

代码语言:javascript
复制
//Controller File....
.............

mycollection.fetch({
  success: function() {

    //Details View wants response
    PrimaryLayout.main.show(new detailsView{collection: mycoll});      

   //Bio View wants response.bio
    PrimaryLayout.body.show(new bioView{collection: mycoll}); 
  }
})

解决这个问题的最好方法是什么?我能克隆一个收藏并在里面放上生物吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-10 18:51:49

我通常通过在parse中实例化子集合来解决这个问题。

代码语言:javascript
复制
var User = Backbone.Model.extend({
    parse: function(json) {
        // instantiate the collection
        json.bio = new Backbone.Collection(json.bio);
        // now person.get('bio') will return a Collection object
        return json;
    }
});

var Users = Backbone.Collection.extend({
    model: User,
    // ...
});
票数 1
EN

Stack Overflow用户

发布于 2014-01-10 08:16:14

我想这就是你要找的:骨干协会。看看那里的教程和例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21034136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档