当我向我的工厂注入$ state服务时,Angular会返回错误。错误并没有多说。但是,当我删除$ state时,错误消失了。发生了什么事?
angular.module('app', ['ui.router'])
.factory('AuthInterceptor', function ($window, $q, $state) {
return {
request: function (config) {
if ($window.sessionStorage.getItem('token')) {
config.headers['x-access-token'] = $window.sessionStorage.getItem('token');
}
return config || $q.when(config);
},
response: function (response) {
return response || $q.when(response);
},
responseError: function (response) {
if (response['status'] >= 400) {
console.log("Not Authorized.kindly login first");
// $state.transitionTo('login');
}
return response || $q.when(err);
}
};
} ])
答案 0 :(得分:0)
参数在您的工厂声明中不匹配,因此$state
未注入。
.factory('AuthInterceptor', ['$window', '$q', function ($window, $q, $state) {
应该是
.factory('AuthInterceptor', ['$window', '$q','state', function ($window, $q, $state) {