所有AngularJS运行时错误都引用angular.js - 没有帮助的堆栈跟踪

时间:2017-04-03 22:23:13

标签: angularjs debugging

我已经开始了一个新的AngularJS项目 - 这次发生了一些奇怪的事情。每当我在浏览器的控制台中出现错误时,它都会引用angular.js文件。我不知道这个应用程序与我的其他人有什么不同 - 也许是AngularJS版本(1.6.4)。或者我正在使用controllerAs语法?

例如 - 如果我在主控制器中尝试以下操作:

vm.notdefined.somevalue = "this should give an error";

我的控制器中的代码行没有出现控制台错误,但是在angular.js中有一行:

  

angular.js:14525 TypeError:无法设置未定义的属性'somevalue'(...)“”

如果我能从堆栈跟踪中追溯错误,那对我来说没问题 - 而且堆栈跟踪也不包含项目中错误位置的任何信息。

enter image description here

2 个答案:

答案 0 :(得分:1)

出现错误的地方。 vm.notdefined.somevaluengController个实例的一部分。在您的控制器被解析的那一刻,抛出错误。这发生在AngularJS内核逻辑中。您可以检查堆栈跟踪以进行调试。它应该引导您进入控制器功能。您还可以在代码上使用断点,例如通过使用chrome调试器。总而言之,这将引导您找到此错误的起源。

有关调试的详细信息,请查看以下答案: How can I get more stacktrace in AngularJS

错误消息非常清楚:vm.notdefined未定义。尝试:

vm = this;
vm.notdefined = {
   somevalue: "this should give an error"
}

答案 1 :(得分:0)

对我感到羞耻 - 我错过了点击三个点来展开错误信息: enter image description here

不知道为什么我有时必须这样做,有时候我会在立即堆栈中得到错误堆栈。