3

最近我发现很难理解 CoffeeScript/Backbone 应用程序中发生的事情。如果没有非常缓慢的步骤,很难追踪快速发生的事情。我认为的问题是:我知道触发了一个事件(主干视图事件)。但我不知道因为它而调用了哪些函数。可能不止 1 个。我什至可能不知道部分视图是否定义了事件(所以我不能设置断点?)

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

4

1 回答 1

0

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

为了访问它,请在 chrome、firefox 或 safari(或除 IE 之外的任何东西)中打开您的 javascript 控制台,然后输入一个全局可访问的实例化对象的名称,并在末尾加上 ._events。例如

products._events

按下回车后,您应该能够展开它并查看发布和订阅的内容。

于 2013-06-02T00:23:42.777 回答