0

我确信这很明显,但我是新来的主干.js 并且已经浪费了很多时间。我正在尝试使用 Backbone 设置一个非常简单的示例,其中 this.name 是一个人名,当名称更改时程序会发出“hi”警报。但是,当我运行下面的代码时,我得到了错误

对象函数 (){a.apply(this,arguments)} 没有方法 'get'

this.name = Backbone.Model.extend({
    initialize: function() {
      this.bind('change', function() {alert('hi')});
    },
    defaults : {
      name: 'bob'
    }

  });

console.log(this.name.get('name'));

请让我知道我做错了什么,这让我发疯:)谢谢!

4

1 回答 1

0

this.name还没有被实例化。试试这个:

this.nameModel = Backbone.Model.extend({
  initialize: function() {
    this.bind('change', function() {alert('hi')});
  },
  defaults : {
    name: 'bob'
  }
});

// instantiate the model
this.name = new this.nameModel();
console.log(this.name.get('name'));
于 2012-05-01T14:50:53.463 回答