Передача параметров обратным вызовам событий в viewview

Я немного новичок в магистрали JS, однако я хочу передать некоторые аргументы для обратного вызова события в разделе "события" в представлении элемента. Я знаю, что обратный вызов может быть добавлен как {"селектор событий": "обратный вызов"}. Но нужно передать аргументы функции "обратный вызов". Я хочу выполнить некоторую локальную функцию itemview там в обратном вызове. Для этого я думал о передаче ссылки на объект itemview в обратный вызов, чтобы его контекст был доступен. Есть ли способ пройти?

Заранее спасибо.

1 ответ

Контекстом обратного вызова должно быть представление, из которого он был вызван. Таким образом, он должен иметь доступ ко всем свойствам и методам, определенным для этого элемента, через "this". Кроме того, обратному вызову передается событие, которое обработало щелчок, и элемент html доступен через event.currentTarget. Между этими двумя вы должны быть в состоянии получить свойства, которые вам нужны.

Например:

var itemView = Backbone.View.extend( {

events: {
  'click a': 'onAnchorClick'
},

property: 'test property',

render: function() {
  ...
},

onAnchorClick: function( event ) {
  console.log( 'Predefined property: ', this.property );
  console.log( 'object: ', event.currentTarget );
  return false;
}
} );
Другие вопросы по тегам