Backbone.js集合不会监听模型更改事件

时间:2016-11-01 11:48:06

标签: javascript backbone.js javascript-events

我刚开始使用backbone.js来创建一个水疗中心。我正在努力让书籍收藏听取模特改变,但没有任何反应。这是模型和集合:

N

这是观点:

var Book = Backbone.Model.extend({

  idAttribute: 'id',

  defaults: {
    id: null,
    title: '',
    author: '',
    completed: false
  }

});

var BooksCollection = Backbone.Collection.extend({

  model: Book,

  url: 'books',

  initialize: function() {
    this.listenTo(this.model, 'change', this.debug);
  },

  debug: function () {
    console.log('something happened !!!');
  }

});

当我点击#save按钮时,作者被更改但没有记录任何内容。我哪里错了?感谢。

1 个答案:

答案 0 :(得分:1)

模型中的事件会自动冒泡到集合中,因此您可以直接收听模型更改:

// in the collection
initialize: function() {
    this.listenTo(this, 'change', this.debug);
},