Javascript 如何识别AngularJS中的错误[cdep]

Javascript 如何识别AngularJS中的错误[cdep],javascript,angularjs,Javascript,Angularjs,很高兴问一下,下一次是否可以作为参考。 此时(2015年3月4日)使用angularjs 1.4.0 beta 1,我得到了这个错误 当尝试像中一样制作块.states模块以在使用时替换块.router时,在这种情况下 $exceptionHandler <- $$q <- $animate <- toastr <- logger <- $exceptionHandler <- $rootScope <- $location <- statehel

很高兴问一下,下一次是否可以作为参考。 此时(2015年3月4日)使用angularjs 1.4.0 beta 1,我得到了这个错误 当尝试像中一样制作
块.states
模块以在使用时替换
块.router
时,在这种情况下

$exceptionHandler <- $$q <- $animate <- toastr <- logger <- $exceptionHandler <- $rootScope <- $location <- statehelper
从左到右或从右到左


还是有另一种解决方法来解决这个问题?我的主要问题是,因为我坚持要继续挖掘和学习angular和javascript。任何参考都将被告知

参考官方文件:

$injector
试图直接或间接获取依赖于自身的服务时,会发生此错误

问:从左到右还是从右到左

A:看到箭头了吗,它清楚地从右到左,这也是如何识别的

让我举一个例子,当你打电话时,像这样大叫:

Unknown provider: loggerProvider <- logger <- loc

Unknown provider:loggerProvider,它向您显示依赖关系链,因此箭头显示依赖关系
$exceptionHandler
似乎依赖于
记录器
等,后者最终依赖于
$exceptionHandler
,但正如您所见,
$exceptionHandler
拥有该依赖链,从而导致依赖解析的无限循环。您的问题似乎是您正在将
$exceptionHandler
传递给另一个服务以及传递
记录器
。您应该传入其中一个,也许,我会检查它,但是堆栈很混乱。上面的$$q是什么?取决于
$animate
的内容。需要查看依赖项和注入以找到问题。这似乎是本节
angular.module('blocks.states').factory('stateheloper',stateheloper)中的问题;statehelper.$inject=['$location','$rootScope','logger','statehelperConfig','$injector']
Unknown provider: loggerProvider <- logger <- loc