1

木偶中有没有办法聚合事件?

我的意思是改变它会容易得多:

           MyApp.vent.on("taskMoved", function(moveData){
              // taskId, fromBucketId, toBucketId, order, $li
              moveTask(moveData.taskId,moveData.fromBucketId, moveData.toBucketId, moveData.order, moveData.li);
            });

            MyApp.vent.on("taskMovedLast", function(moveData){
              // taskId, fromBucketId, toBucketId, order, $li
              moveTaskLast(moveData.taskId, moveData.fromBucketId, 99);
            });

            MyApp.vent.on("taskMovedFirst", function(moveData){
              // taskId, fromBucketId, toBucketId, order, $li
              moveTaskFirst(moveData.taskId, moveData.fromBucketId, 99);
            });

进入这个:

 {
"taskMoved":"moveTask",
"taskMovedLast":"taskMovedLast",
"taskMovedFirst":"taskMovedFirst"
}

类似于 BackboneView 事件对象。

可以这样做吗?

4

2 回答 2

2

你可以编写一个方法来做到这一点,但据我与 Marionette 的合作,你不能。

但是,您可以执行以下操作:

bind_events: function(events_hash){
    var that = this;
    _.each(events_hash, function(func, evt){
        MyApp.vent.on(evt, that[func]);
    }
}; 

传入那个哈希,它会为你打开它们。

于 2012-10-03T16:17:03.867 回答
0

如果您想绑定到所有发泄事件,请尝试:

vent.on('all',this.trigger.bind(this))

这是个好主意,如果您想将发泄用作“代理/中介”

于 2013-02-10T00:02:22.857 回答