有没有办法在控制台中自动输出所有backbone.js触发器/事件,这样我才能看到正在发生的一切?
谢谢!
答案 0 :(得分:5)
为此,您需要覆盖Backbone.Events'trigger'方法,然后在回调原始方法之前调用所需的代码。
这样的事情应该有效:
var originalTrigger = Backbone.Events.trigger;
Backbone.Events.trigger = function(){
console.log("Event Triggered:");
console.log(arguments.join(", "));
originalTrigger.apply(this, arguments);
}
我不确定副手,但您可能需要将参数切片到实际数组中以调用apply:
originalTrigger.apply(this, Array.prototype.slice.call(arguments));
答案 1 :(得分:-1)
在这种情况下,您可以使用_.wrap方法。
这是我的coffeescript代码。
Backbone.Events.trigger = _.wrap(Backbone.Events.trigger, (fun) ->
args = _.toArray(arguments).slice(1,)
console.log.call console, _.flatten(['trigger', args])
fun()
)