私のアプリでは、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;
})
しかし、基本コレクションを拡張することはできません。私のやり方は間違っていますか..?もしそうなら、ベースURLを拡張する正しい方法は何でしょうか(私にはビューがないので、コレクションの数はベースURLから拡張する必要があります)。
前もって感謝します。
インスタンスを拡張することはできませんが、コレクション「クラス」を拡張することはできます。あなたが呼びたいのextend
はこれです:
var baseCollection = Backbone.Collection.extend({ /* ... *? });
これじゃない:
new baseCollection;
したがってbaseCollection
、拡張するだけの場合は、次のことを行います。
return baseCollection; // No 'new' here
これBaseCollection
はコレクションの通常の予想される大文字であるため、おそらくそれを呼び出したいと思うでしょう。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加