【发布时间】:2012-12-28 19:15:42
【问题描述】:
来自Marionette.EventAggregator 和Marionette.EventBinder 中的文档,代码完全相同。我想我错过了一个区别,它是什么?什么时候使用它们?
【问题讨论】:
标签: javascript backbone.js marionette backbone-events
来自Marionette.EventAggregator 和Marionette.EventBinder 中的文档,代码完全相同。我想我错过了一个区别,它是什么?什么时候使用它们?
【问题讨论】:
标签: javascript backbone.js marionette backbone-events
主要区别在于意图。这些文章解释了 EventAggregator 的意图:
http://martinfowler.com/eaaDev/EventAggregator.html
http://codebetter.com/jeremymiller/2009/07/22/braindump-on-the-event-aggregator-pattern/
EventBinder 的目的是管理事件绑定中的依赖关系,正如 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。
【讨论】: