angularjs – 来自$exceptionHandler的$location – 依赖冲突

前端之家收集整理的这篇文章主要介绍了angularjs – 来自$exceptionHandler的$location – 依赖冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试实现一个非常标准的任务:当发生异常时,重定向到我的/错误页面

在简化形式中,代码如下所示:

app.factory('$exceptionHandler',['$location',function($location) {
    return function(exception,cause) {
        $location.path("/error");
    };
}]);

然而,AngularJS抱怨说:
找到循环依赖项:$ location< - $ exceptionHandler< - $ rootScope 这看起来像是一个基本限制,在处理异常时不允许使用$ location。 但那我们怎么办呢?

解决此问题,您需要手动调用$ injector以在运行时解析依赖项:
app.factory('$exceptionHandler',['$injector',function($injector) {

    var $location;

    return function(exception,cause) {
        $location = $location || $injector.get('$location');
        $location.path("/error");
    };
}]);

猜你在找的Angularjs相关文章