javascript - Backbone Marionette 中的事件 EventAggregator 和 EventBinder 有什么区别?

标签 javascript backbone.js marionette backbone-events

来自 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 现在包含 listenTostopListening方法。 EventAggregator正在接管 Backbone.Events 未涵盖的任何内容。不过,这适用于 Marionette v1.0-rc3 及更高版本。如果您仍在使用 Marionette v1.0-rc2 或更早版本,您仍然需要 EventBinder。

关于javascript - Backbone Marionette 中的事件 EventAggregator 和 EventBinder 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074540/

相关文章:

jquery - MarionetteJS "sliding"转换

javascript - 如何调整 xtermjs 终端的大小

javascript - 跨不同页面显示 JS var

javascript - 在 Backbone.js 中,在集合下的模型 'create' 之后,如何更新该模型?

javascript - TodoMVC 中针对 Backbone Marionette 示例的设计决策

backbone.js - 了解 backbone.geppetto

javascript setInterval 看不到 .css jquery

javascript - 如何防止方法的 `this` 引用到调用它的对象

javascript - 轨道 3.1 和 Jasmine : Including JavaScripts from gems

javascript - 使用 Sinon 不调用成功回调测试 Backbone.js 模型保存