Backbone.js模型未捕获TypeError:undefined不是函数

时间:2014-08-21 05:42:04

标签: backbone.js

我正在尝试创建一个Backbone模型。

然而,一旦我创建了Model的对象,我就会得到以下错误

Uncaught TypeError: undefined is not a function 

在backbone.js文件扩展函数。

Here is jsFiddle for it.

var ProjectModel = new Backbone.Model.extend({
    idAttribute: '_id',
    urlRoot: '/project',
    defaults: function () {
        return {
            name: 'New Project',
            description: 'Add Description here'
        };
    }
});

// var Projects = Backbone.Collection.extend({
//     model: ProjectModel,
//     url: '/project'
// });

// var projects = new Projects();
var obj = new ProjectModel({
    name: 'test'
});
console.log(obj);

1 个答案:

答案 0 :(得分:1)

删除" new"在Backbone.Model.extend调用之前出现 - 应该如下所示:

var ProjectModel = Backbone.Model.extend({
  idAttribute: '_id',
  urlRoot: '/project',
  defaults: function () {
    return {
        name: 'New Project',
        description: 'Add Description here'
    };
  }
});

通过推出" new"在那里,你正在返回一个Backbone模型的实例,而不是用于创建新模型实例的新构造函数。