vit*_*y-t 24 dependencies angularjs exceptionhandler
我正在尝试实现一个非常标准的任务:当发生异常时,重定向到我的/error页面.
在简化形式中,代码如下所示:
app.factory('$exceptionHandler', ['$location', function($location) {
return function(exception, cause) {
$location.path("/error");
};
}]);
Run Code Online (Sandbox Code Playgroud)
但是,AngularJS抱怨: 发现循环依赖:$ location < - $ exceptionHandler < - $ rootScope
这看起来像是一个基本限制,不允许$location在处理异常时使用.
但是我们还能怎么做呢?
tas*_*ATT 46
要解决此问题,您需要$injector手动调用以在运行时解析依赖关系:
app.factory('$exceptionHandler', ['$injector', function($injector) {
var $location;
return function(exception, cause) {
$location = $location || $injector.get('$location');
$location.path("/error");
};
}]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3439 次 |
| 最近记录: |