下面是一个简单的骨干应用程序的模型。因此,考虑到我希望有多个url调用,我被告知我应该使用集合(definition是一个模型集合)。
模型格式:
var Books1 = Backbone.Model.extend({
urlRoot: '/books1'
});
var Books2 = Backbone.Model.extend({
urlRoot: '/books2'
});收集格式:
var Books = Backbone.Collection.extend({
url: '/books'
});我的问题是如何让将一个集合中的多个模型组合在一起?
更清楚的是:
假设我目前在一个视图中有8-10个模型(需要从一个视图调用8+服务器请求)。我通过模型成功地做到了这一点。但从我最初的研究中,我得出结论,我应该使用集合,它将是所有使用的模型的集合。因此,通过将集合传递给视图,我将能够在视图的不同部分调用不同的模型。
以及如何在视图中使用它?
更清楚的是:
对于现在的模型,我在需要处理请求的地方之前声明了模型之后,使用了this.model.save()或newmodel.save()。
干杯
发布于 2013-08-21 09:03:39
许多属性都是通过http://underscorejs.org/#result处理的,因此您可以将urlRoot作为函数传递。
var Books = Backbone.Model.extend({
urlRoot: function(){
return condition ? '/books' : '/bum'
}
});收藏品也一样。但我不这么认为,把两个或两个以上的模型组合在一个集合中是个好主意。如果可能的话,为另一款做一个新的收藏.
视野呢?
您可以传递集合来查看实例,如下所示:
var SomeView = Backbone.View.extend({
initialize: function(opt){
this.collection = new opt.collection
}
});
var someView = new SomeView({collection: Books})https://stackoverflow.com/questions/18352988
复制相似问题