在我的应用程序中,我保留了一个baseCollection,从baseCollection,我正在扩展更多的集合来获取数据..但是我收到一个错误说:
Uncaught TypeError: Object [object Object] has no method 'extend'
原因是什么??
这是我的基础集合:
define(["backbone","models/model"], function (Backbone,model) {
var baseCollection = Backbone.Collection.extend({
//this is the base url
url:"https://recordsmanager.mahindrasatyam.com/EDMSWSStatic/rest/",
model:model,
initialize:function(){
console.log("base collection initialized");
}
});
return new baseCollection;
})
我的导航集:(扩展基本集合):
define(["backbone","models/model","collection/baseCollection"], function (Backbone,model,baseCollection) {
var headerCollection = baseCollection.extend({
//i am getting navigation Json my url should be (https://recordsmanager.mahindrasatyam.com/EDMSWSStatic/rest/edms/navigationLinks)
url:"edms/navigationLinks",
model:model,
initialize:function(){
console.log(baseCollection);
},
parse:function(response){
console.log(response);
}
});
new headerCollection;
})
但我无法扩展基本集合。我正在做的方式是错的..?如果是这样的话,扩展基本网址的正确方法是什么(我确实没有视图,所以我的no.of集合需要从基本网址扩展)。
提前致谢。
答案 0 :(得分:4)
您无法扩展实例,但可以扩展集合“class”。你要打{{1}}的事就是这个:
extend
不是这一个:
var baseCollection = Backbone.Collection.extend({ /* ... *? });
因此,如果您的new baseCollection;
仅用于扩展,那么您需要:
baseCollection
您可能还想将其称为return baseCollection; // No 'new' here
,因为这是集合的通常和预期大写。