backbone.js - "Uncaught TypeError: undefined is not a function"初始化 Backbone 集合

标签 backbone.js

我有一个 Backbone 集合,如下所示:

var FooCollection = Backbone.Collection.extend({
    model:Foo,

    initialize: function (attributes, options) {
        this.barId = options.barId;
    }
});

var Foo = Backbone.Model.extend({});

当我尝试初始化它时,我在 _prepareModel() 中得到“Uncaught TypeError: undefined is not a function” 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实际上是未定义的。

谁能告诉我我做错了什么?

最佳答案

在我的实际代码中 FooFooCollection 之后声明.没有意识到 Javascript 不支持前向声明。 【前台】

关于backbone.js - "Uncaught TypeError: undefined is not a function"初始化 Backbone 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162605/

相关文章:

jquery - Backbone.js 在 Web 应用程序中适合什么位置

javascript - 对集合的操作(排序、限制、搜索等)

backbone.js - 如何重新格式化 Backbone 模型项目

javascript - anchor 标记 href 与设置的内容不同

javascript - 使用 node.js 提供来自 Backbone.js 应用程序的内容以搜索爬虫以进行 SEO

javascript - 如何使用 Backbone.Marionette 构建一个用于将项目创建到列表中的应用程序?

javascript - Backbone.js 比较器未排序(Coffeescript)

javascript - 如何确保注销的用户永远不会在 Node、Express、Passport 和 Backbone 应用程序中看到某些哈希 Backbone 页面

javascript - 单击元素时一种模式呈现不同的模板

javascript - Backbone.js 继承问题