AbstractProductCollection.js:
define([
'app',
'models/AbstractProductModel',
'models/ProductModel',
'models/PackageModel'
],
function (app, AbstractProductModel, ProductModel, PackageModel) {
return Backbone.Collection.extend({
model: AbstractProductModel,
url: app.config.apiUrl + '/product',
parse: function(response, options) {
return _(response.data.abstractProduct).map(function(attrs) {
switch (attrs.productTypeId) {
case 1:
return new ProductModel(attrs);
case 6:
return new PackageModel(attrs);
}
});
}
});
});
PackageModel.js:
define([
'underscore',
'backbone',
'app',
'models/AbstractProductModel',
'collections/AbstractProductCollection'
],
function (_, Backbone, app, AbstractProductModel, AbstractProductCollection) {
var PackageModel = AbstractProductModel.extend({
defaults: {
},
initialize : function(){
this.products = new AbstractProductCollection(this.get('products'));
}
});
_.defaults(PackageModel.prototype.defaults, AbstractProductModel.prototype.defaults);
_.defaults(PackageModel.prototype.initialize, AbstractProductModel.prototype.initialize);
return PackageModel;
});
I got this error: Uncaught TypeError: undefined is not a function PackageModel.js:17. AbstractProductCollection is undefined in debugger.
Can anyone a solution for this?