有没有办法让牵线木偶聚集事件?
我的意思是改变它会容易得多:
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事件对象。
可以这样做吗?
答案 0 :(得分:2)
你可以写一个方法来做到这一点,但据我从Marionette的工作中可以看出,你做不到。
但是,您可以执行以下操作:
bind_events: function(events_hash){
var that = this;
_.each(events_hash, function(func, evt){
MyApp.vent.on(evt, that[func]);
}
};
传入该哈希值,它会为你全部打开。
答案 1 :(得分:0)
如果您想绑定所有发泄事件,请尝试:
vent.on('all',this.trigger.bind(this))
如果您想使用vent作为“代理/调解员”
,这是一个好主意