调试JS / CoffeeScript代码:事件,回调等

时间:2013-05-10 09:46:12

标签: javascript debugging backbone.js coffeescript

最近,我发现很难理解CoffeeScript / Backbone应用程序中发生的事情。很难追踪到什么时候很快就会发生这种情况。我认为的问题是:我知道一个事件被触发(Backbone视图事件)。但我不知道因为它而调用了哪些函数。可能有超过1.我可能甚至不知道视图部分是事件定义(所以我不能放一个断点?)

是否有调试器将程序的执行情况绘制为图形?这样我就可以放大我需要的东西,或者可以用来“可视化”代码执行的东西。也许不是,如果我应该注意什么。我不知道我需要在哪里设置断点,因为我不知道某些事件被触发的位置。然后有时我发现很难理解为什么代码单步执行可能会跳到这里,也许它的多个事件和它们的处理程序执行?

1 个答案:

答案 0 :(得分:0)

Backbone中的所有内容(视图,模型,集合,路由器)都扩展了Backbone.Events。这意味着他们有一个_events属性,其中包含每个绑定事件(例如,更改)及其订阅者数组。

为了访问它,在chrome,firefox或safari(或除IE之外的任何东西)中打开你的javascript控制台,并输入一个全局可访问的实例化对象的名称,最后带有._events。 E.g。

products._events

按Enter键后,您应该可以展开此内容并查看发布和订阅的内容。