在 Backbone Marionette 中,您可以使用触发器和事件执行极其相似的操作:
触发器:
return Marionette.Layout.extend({
triggers: {
'click .something': 'view:handleClickSomething'
},
initialize: function(){
this.bindTo(this, 'view:handleClickSomething', this.handleClickSomething);
},
handleClickSomething: function(){}
}
与事件:
return Marionette.Layout.extend({
events: {
'click .something': 'view:handleClickSomething'
},
handleClickSomething: function(ev){}
}
事件方式似乎是一种更快更简单的方式,也更容易获得实际事件本身(因为它是自动传递的)。有理由使用其中一个吗?他们的预期用例是什么?很难在网上找到很多关于这个的信息(除了试图了解带注释的来源)......
(我刚刚发现了 events 方法,到目前为止,我一直在为所有事情使用触发器,因为我认为这是唯一的方法)