首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Backbone.js中使用集合

在Backbone.js中使用集合
EN

Stack Overflow用户
提问于 2013-08-21 08:55:11
回答 1查看 157关注 0票数 1

下面是一个简单的骨干应用程序的模型。因此,考虑到我希望有多个url调用,我被告知我应该使用集合(definition是一个模型集合)。

模型格式:

代码语言:javascript
复制
    var Books1 = Backbone.Model.extend({
        urlRoot: '/books1'
    });

    var Books2 = Backbone.Model.extend({
        urlRoot: '/books2'
    });

收集格式:

代码语言:javascript
复制
    var Books = Backbone.Collection.extend({
        url: '/books'
    });

我的问题是如何让将一个集合中的多个模型组合在一起?

更清楚的是:

假设我目前在一个视图中有8-10个模型(需要从一个视图调用8+服务器请求)。我通过模型成功地做到了这一点。但从我最初的研究中,我得出结论,我应该使用集合,它将是所有使用的模型的集合。因此,通过将集合传递给视图,我将能够在视图的不同部分调用不同的模型。

以及如何在视图中使用它?

更清楚的是:

对于现在的模型,我在需要处理请求的地方之前声明了模型之后,使用了this.model.save()newmodel.save()

干杯

EN

回答 1

Stack Overflow用户

发布于 2013-08-21 09:03:39

许多属性都是通过http://underscorejs.org/#result处理的,因此您可以将urlRoot作为函数传递。

代码语言:javascript
复制
var Books = Backbone.Model.extend({
  urlRoot: function(){
    return condition ? '/books' : '/bum'
  } 
});

收藏品也一样。但我不这么认为,把两个或两个以上的模型组合在一个集合中是个好主意。如果可能的话,为另一款做一个新的收藏.

视野呢?

您可以传递集合来查看实例,如下所示:

代码语言:javascript
复制
var SomeView = Backbone.View.extend({
  initialize: function(opt){
    this.collection = new opt.collection
  }
});

var someView = new SomeView({collection: Books})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18352988

复制
相关文章

相似问题

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