加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:02:23 所属栏目:安全 来源:网络整理
导读:我正在尝试实现一个非常标准的任务:当发生异常时,重定向到我的/错误页面。 在简化形式中,代码如下所示: app.factory('$exceptionHandler',['$location',function($location) { return function(exception,cause) { $location.path("/error"); };}]); 然
我正在尝试实现一个非常标准的任务:当发生异常时,重定向到我的/错误页面。

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

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");
    };
}]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读