我是backbone.js的新手,并且继承了一些代码,其中包含在视图中的方法内定义的集合。我想把它拉到自己的模块中,但我正在努力。这是集合:
define("resource/ResourceCollection", [
"underscore",
"main/AbstractCollection",
"util/BackgridUtils"
], function(_, AbstractCollection, BackgridUtils) {
var ResourceCollection = AbstractCollection.extend({
url: url,
model: ResourceModel,
state: state,
queryParams: BackgridUtils.getQueryParams({
_queryFilter: 'true'
}, this.data.isSystemResource)
});
return new ResourceCollection;
});
以下是重构模块到目前为止的样子:
public static ActionResult ...
如何使用正确的值从我的视图中实例化集合?提前谢谢。
答案 0 :(得分:0)
您应该返回集合的实际构造函数,而不仅仅是它的实例。 然后你可以使用这个"模块"在应用程序的任何其他位置创建此集合的实例。
define("resource/ResourceCollection", [
"underscore",
"main/AbstractCollection",
"util/BackgridUtils"
], function(_, AbstractCollection, BackgridUtils) {
var ResourceCollection = AbstractCollection.extend({
url: url,
model: ResourceModel,
initialize: function(models,options){
//handle custome options here
},
state: state,
queryParams: BackgridUtils.getQueryParams({
_queryFilter: 'true'
}, this.data.isSystemResource)
});
return ResourceCollection;
});
然后,从您的视图中,您可以使用动态数据(如
)创建集合的实例new ResourceCollection([],{
url: "some dynamic url"
//some other custom options can be passed here
})