Передача параметров обратным вызовам событий в 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;
}
} );