核心问题是:
-
APIInterceptor
内喷射ngDialog
-
ngDialog
内部注入$http
-
$http
注入APIInterceptor
(因为你已经添加了拦截器通过$httpProvider
最简单的解决方法是在需要时手动$injector
检索ngDialog
。
简单的例子:
app.factory('APIInterceptor', function($q, $rootScope, $location, $window, $injector) {
return {
request: function(config) {
var ngDialog = $injector.get('ngDialog');
return config;
}
};
});