Backbone.js 在主干木偶网中的何处使用事件聚合器?

Backbone.js 在主干木偶网中的何处使用事件聚合器?,backbone.js,marionette,backbone-events,Backbone.js,Marionette,Backbone Events,我想用requirejs作为解释者实现一个定制的event事件聚合器实例 看看这里和文档中的示例,我发现对vent.on和vent.trigger的调用主要用于视图中。我的模式是: define(['marionette', 'vent'], function (Marionette, vent) { return Marionette.ItemView.extend({ initialize: function () { //bind

我想用requirejs作为解释者实现一个定制的event事件聚合器实例

看看这里和文档中的示例,我发现对vent.on和vent.trigger的调用主要用于视图中。我的模式是:

define(['marionette', 'vent'], function (Marionette, vent) {
    return Marionette.ItemView.extend({
        initialize: function () {
           //bind
           this.listenTo(vent, 'mycustomevent', this.myMethod);
           //trigger
           vent.trigger('viewinit', ...);
        }
    });
});

这种模式正确吗(视图负责管理聚合器事件),还是应该在模型和集合上使用它?

事件聚合器实际上只是一个用于通信的发布/子系统

关于“什么应该去哪里”,我建议在大多数情况下:

  • 查看触发事件(根据用户单击的内容,例如)
  • 控制器侦听事件并对事件作出反应(例如,删除模型)
当然,有很多方法可以使用事件聚合器,但是在处理视图时,上面的方法适合大多数用例


使用事件聚合器对于管理路由事件和删除重复也很有用(请参阅此处的“实现路由”部分:)

也许您可以分享一些关于参数的知识;-)谢谢有一个愉快的周末!!我已经添加了我对这个问题的看法,但在(链接的)书的示例中有更详细的解释。