我已经开始了一个新的AngularJS项目 - 这次发生了一些奇怪的事情。每当我在浏览器的控制台中出现错误时,它都会引用angular.js文件。我不知道这个应用程序与我的其他人有什么不同 - 也许是AngularJS版本(1.6.4)。或者我正在使用controllerAs
语法?
例如 - 如果我在主控制器中尝试以下操作:
vm.notdefined.somevalue = "this should give an error";
我的控制器中的代码行没有出现控制台错误,但是在angular.js中有一行:
angular.js:14525 TypeError:无法设置未定义的属性'somevalue'(...)“”
如果我能从堆栈跟踪中追溯错误,那对我来说没问题 - 而且堆栈跟踪也不包含项目中错误位置的任何信息。
答案 0 :(得分:1)
出现错误的地方。 vm.notdefined.somevalue
是ngController
个实例的一部分。在您的控制器被解析的那一刻,抛出错误。这发生在AngularJS内核逻辑中。您可以检查堆栈跟踪以进行调试。它应该引导您进入控制器功能。您还可以在代码上使用断点,例如通过使用chrome调试器。总而言之,这将引导您找到此错误的起源。
有关调试的详细信息,请查看以下答案: How can I get more stacktrace in AngularJS
错误消息非常清楚:vm.notdefined
未定义。尝试:
vm = this;
vm.notdefined = {
somevalue: "this should give an error"
}
答案 1 :(得分:0)