在 Backbone 中,我正在使用新Backbone.listenTo
事件。我的一个实例将侦听器附加到三个不同的事件,例如:
this.listenTo(this._Collection, 'reset add change', this._setCollection);
当它应该被适当地调用并且那里没有问题时,它会被适当地调用。我不知道如何找出触发了哪个事件。我可以使用以下方法访问e
参数:
_setCollection: function(e) {
// Do fun stuff
}
问题是该e
参数仅发送集合的副本,并没有提及实际触发的事件。我试过了e.type
,e.target
但那些对象不存在。e
这是来自 Chrome 开发工具的对象的副本:
_byCid: Object
_byId: Object
_events: Object
add: Array[1]
change: Array[1]
remove: Array[1]
reset: Array[1]
__proto__: Object
_listenerId: "l16"
length: 3
models: Array[3]
我怎样才能找到触发了什么事件?
编辑:答案澄清:虽然标记的答案在技术上是正确的,正如 mu_is_too_short 所指出的,正确的答案是使用多个处理程序而不是执行这种类型的“诡计”