2016-02-20 3 views
2

Возможно ли связать несколько функций с одним событием в марионетке ItemView
например.Marionette ItemView events - привязывает несколько функций к одному событию

events: { 
"click #div1": "func1 func2" 
} 

Это не работает вообще в ItemView. Тем не менее, он должен отлично работать в CollectionView: https://github.com/marionettejs/backbone.marionette/issues/355.

Я также попытался

events: { 
"click #div1": "func1", 
"click #div1": "func2" 
} 

Но это приводит к вызову только func2!

ответ

3

Ваш events является объектом, а Backbone iterates over its keys, и поскольку у вас не может быть дубликатов ключей, вы не можете объявить два обработчика на одном и том же мероприятии.

Вместо этого вы можете использовать один обработчик событий, который снова вызывает функции, которые вы хотите вызвать.

events: { 
    'click #div1': 'onDiv1Click' 
}, 

onDiv1Click: function() { 
    this.func1(); 
    this.func2(); 
} 
+0

Удивительный! Оно работает. –

Смежные вопросы