在Marionette中Application.vent有什么意义? Application对象已经扩展了Backbone.Events,所以我可以编写以下代码: window.app = new Backbone.Marionette.Application();app.on("my:event", function() { console.log(arguments
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");
我已经阅读了消息来源,我无法区分它,但这并不意味着没有一个,而且我愿意打赌有一个很好的理由它按照它的方式完成.
虽然Application.vent的功能确实与Application的内置事件重叠,但它增加的功能不仅仅是一个简单的on / trigger事件机制,因为它是一个 Backbone.Wreqr的实例.这增加了命令事件和请求/响应机制,允许模块与每个事件进行通信.其他更容易.它仍然只是事件的核心,但它的目的是使模块间通信更容易遵循.