【发布时间】:2014-08-06 10:01:28
【问题描述】:
watch 服务是否创建原始功能的代理?
$scope.$watch('query', doSearch, true);
在哪里:
doSearch = function(query) {
alert("breakpoint not working");
// stuff
}
会显示警报,但如果我使用 chrome 调试器向代码添加断点,它根本不会中断。而非监视 javascript 函数中的其他断点正常工作。
更新: 当我不使用 chrome 开发工具的 workspaces 功能时,断点工作正常。
【问题讨论】:
-
在他们的源代码中,看起来他们确实“包装”了传递的函数(
var originalFn = watcher.fn;...originalFn.call(this, newVal, oldVal, scope);),但这不应该影响断点和调试...跨度> -
@Ian 为什么不应该呢?我也在使用 chrome 工作区,但不认为这有什么不同。
-
我的意思是,它仍在调用您传递给它的确切函数。如果它以某种方式构建了一个全新的函数并丢弃了您传递的内容,那将是一个不同的故事(我不确定他们如何或为什么会这样做)。嗯,我会尝试在普通的 Chrome 浏览器中调试它,如果我有这个问题,请告诉你
-
@Ian 好吧,是的。谢谢。
-
只是一个想法,但您可能想尝试 Chrome Canary 看看是否会出现同样的行为。
标签: javascript angularjs google-chrome