依赖Application的事件mixin和Application.vent之间的区别是什么?

时间:2013-09-30 18:50:42

标签: marionette

木偶的Application.vent有什么意义? Application对象已经扩展了Backbone.Events,因此我可以编写以下内容:

window.app = new Backbone.Marionette.Application();
app.on("my:event", function() { console.log(arguments); });
app.trigger("my:event");

比以下更容易:

window.app = new Backbone.Marionette.Application();
app.vent.on("my:event", function() { console.log(arguments); });
app.vent.trigger("my:event");

我已经阅读了消息来源,我无法区分它,但这并不意味着没有消息来源,而且我愿意打赌,这是一个很好的理由,它按照它的方式完成。

1 个答案:

答案 0 :(得分:3)

虽然Application.vent的功能确实与Application的内置事件重叠,但它增加的功能不仅仅是一个简单的on / trigger事件机制,因为它是Backbone.Wreqr的一个实例。这增加了命令事件和请求/响应机制,以允许模块更容易地相互通信。

它仍然只是事件的核心,但它的目的是使模块间通信更容易理解。