Backbone listenTo回调参数

时间:2014-02-20 21:16:17

标签: javascript backbone.js

我是Backbone的新手,我对示例待办事项应用代码的片段感到困惑:http://backbonejs.org/docs/todos.html

AppView对象上有一个名为addOne的函数,它接受一个参数:

addOne: function(todo) {
  var view = new TodoView({model: todo});
  this.$("#todo-list").append(view.render().el);
},

只要在add模型上触发Todos事件,就会调用此函数。这里似乎没有任何东西告诉监听器它需要将todo参数传递给addOne函数:

this.listenTo(Todos, 'add', this.addOne);

当事件被触发并且this.addOne被调用时,Backbone如何知道向addOne提供它的todo参数,因为它似乎没有在{{{ 1}}调用?

1 个答案:

答案 0 :(得分:10)

Backbone.Collection.add& Backbone.Collection.create将触发add事件传递model, this, options作为这样的参数。

.trigger('add', model, this, options);

然后在this.addOne调用

listenTo时传递这些参数。