2014-12-03 2 views
0

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

Спасибо заранее.

ответ

1

Контекст обратного вызова должен быть видом, из которого он был вызван. Поэтому он должен иметь доступ ко всем свойствам и методам, определенным для этого элемента, через «это». Кроме того, обратный вызов получает событие, которое обрабатывает клик, и элемент 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; 
} 
}); 
Смежные вопросы