Подтвердить что ты не робот

Магистральный слухДля аргументов обратного вызова

Я новичок в Backbone, и меня смущает фрагмент кода кода приложения todo: 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, поскольку он не указан в вызове listenTo?

4b9b3361

Ответ 1

Backbone.Collection.add и Backbone.Collection.create инициируют событие add, проходящее через model, this, options в качестве таких аргументов.

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

this.addOne затем передается этими аргументами при вызове listenTo.