来自 Marionette.EventAggregator 中的文档和 Marionette.EventBinder代码是完全一样的。我想我错过了一个差异,它是什么?何时使用它们中的每一个?
最佳答案
主要区别在于意图。这些文章中解释了 EventAggregator 的意图:
http://martinfowler.com/eaaDev/EventAggregator.html
http://codebetter.com/jeremymiller/2009/07/22/braindump-on-the-event-aggregator-pattern/
http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/
EventBinder 的目的是管理事件绑定(bind)中的依赖关系,正如 Johnny Oshika 在这里首次描述的那样:Backbone.js : repopulate or recreate the view?
...
不过,随着 Marionette 和 Backbone v0.9.9 的发展,EventBinder 现在已经过时了,因为 Backbone.Events 现在包含 listenTo
和 stopListening
方法。 EventAggregator
正在接管 Backbone.Events 未涵盖的任何内容。不过,这适用于 Marionette v1.0-rc3 及更高版本。如果您仍在使用 Marionette v1.0-rc2 或更早版本,您仍然需要 EventBinder。
关于javascript - Backbone Marionette 中的事件 EventAggregator 和 EventBinder 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074540/