我正在使用RestangularProvider来设置$ http拦截器,以便在所有的restangular请求中注入一个身份验证头。问题是您无法将服务注入app.config(),因此我无法访问我从登录服务器获取令牌时用于存储令牌的角度本地存储。
angular.module('app').config(function(RestangularProvider, localStorageService) {
RestangularProvider.setBaseUrl('/api/');
RestangularProvider.setFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) {
var authData = localStorageService.get('authorizationData');//ERROR:localStorageService doesn't exist
};
});
" authorizationData"是本地存储的身份验证令牌。 如您所见,我需要能够使用Restangular提供程序和本地存储。我很感激任何变通方法。谢谢!
答案 0 :(得分:0)
基本上,您无法将服务注入角度配置.config
阶段。配置阶段只能访问提供者/常量(提供者用于可配置服务)
要解决您的问题,请将localStorageService
转换为提供者而不是service/factory
,然后将其注入配置块,如localStorageProvider
。
实现它的另一种方法是,您可以使用$injector
来检索localStorageService
的实例。为此,您需要注入$injector
然后使用var
localStorageService = $injector.get('localStorageService');
获取localStorageService