[英]Calling Model from Collection
采集
define([
'jquery',
'underscore',
'backbone'
], function($, _, Backbone){
console.log("Loaded");
var Jobs = Backbone.Collection.extend({
url: function () {
return 'http://domain.com/api/jobs?page='+this.page+''
},
page: 1
});
return Jobs;
});
模型
define([
'underscore',
'backbone'
], function(_, Backbone){
var JobFilterModel = Backbone.Model.extend({
defaults: {
T: '1',
PT: '1',
C: '1',
I: '1'
}
});
// Return the model for the module
return JobFilterModel;
});
在我看来,我设置了模型
var jobListFilterModelUpdate = new JobListFilterModel();
jobListFilterModelUpdate.set({value:isChecked});
我正在尝试从Collection中检索MODEL,以便我可以使用URL发送正确的QUERY。
问题1
如何从集合中的模型中检索
问题2
检索到的集合是否将是具有在View中设置的数据的更新模型?
当您声明一个Collection
您需要指定一个model
属性,例如:
var Jobs = Backbone.Collection.extend({
url: function () {
return 'http://punchgag.com/api/jobs?page='+this.page+''
},
page: 1,
model: JobFilterModel
});
创建新模型后,您需要将其添加到集合中(假设您已创建jobsCollection
):
var jobListFilterModelUpdate = new JobListFilterModel();
jobListFilterModelUpdate.set({value:isChecked});
jobsCollection.add(jobListFilterModelUpdate);
答案1
您可以基于id
, collection.get(id)
从集合中检索模型。 这里JobFilterModel
似乎没有任何的ID(可以设置idAttribute
的属性Model
来创建自定义的id
属性)。 Backbone还会在客户端创建唯一的ID,但我不知道它们会对您有什么帮助。 如果要基于模型的任何属性检索模型,则可以使用collection.findWhere()或collection.where() 。
答案2
是。 将会,但这取决于如何将“ View
”链接到“ Collection
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.