Backbone.js事件聚合器问题

时间:2014-01-10 16:34:16

标签: javascript backbone.js

我最终遇到的情况是我在事件聚合器上多次绑定一个具有相同名称的事件,并最终同时触发[同名]所有事件。我不能在这里显示我的整个代码因为它非常多,但我设法用几行代码复制了这个问题。

var vent = _.extend({}, Backbone.Events);

vent.bind("editMedication", function(){//first time
    console.log('editMedication 1');
});

vent.bind("editMedication", function(){//second time
    console.log('editMedication 2');
});

vent.bind("editMedication", function(){//third time
    console.log('editMedication 3');
});

vent.bind("editMedication", function(){//fourth time
    console.log('editMedication 4');
});

vent.trigger("editMedication"); // this triggers all the events with the name 'editMedication'

是否可以清除之前绑定的所有事件并保留最后一个条目?

1 个答案:

答案 0 :(得分:1)

the docs所示,在每次新绑定之前,取消绑定事件:

vent.unbind("editMedication");