«Uncaught TypeError: undefined не является функцией», инициализирующая коллекцию Backbone
У меня есть коллекция Backbone что-то вроде следующего:
var FooCollection = Backbone.Collection.extend({
model:Foo,
initialize: function (attributes, options) {
this.barId = options.barId;
}
});
var Foo = Backbone.Model.extend({});
Когда я пытаюсь инициализировать это, я получаю «Uncaught TypeError: undefined не является функцией» в_prepareModel()
функцияBackbone.Collection
.
Плохой звонок вmodel = new this.model(attrs, options)
.
// Prepare a model or hash of attributes to be added to this collection.
_prepareModel: function(model, options) {
options || (options = {});
if (!(model instanceof Model)) {
var attrs = model;
options.collection = this;
model = new this.model(attrs, options); // <-- BLOWS UP HERE
if (!model._validate(model.attributes, options)) model = false;
} else if (!model.collection) {
model.collection = this;
}
return model;
},
Когда я прохожу_prepareModel()
в отладчике это выглядит как типthis
в этот моментchild
, а такжеthis.model
фактически не определено.
Может кто-нибудь сказать мне, что я делаю не так?