2016-02-05 33 views
1

我正在使用RestangularProvider來設置一個$ http攔截器,以將驗證頭插入到所有冗餘請求中。問題是你不能將服務注入到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 provider和本地存儲。我將不勝感激任何解決方法。謝謝!

回答

0

基本上不能將服務注入角度配置.config階段。只有供應商/恆都可以訪問到的配置階段(提供者意味着配置的服務)

解決您的問題,無論是transfor localStorageService到供應商,而不是service/factory,然後將其注入到配置塊像localStorageProvider

實現它的其他方法是,您可以使用$injector來檢索localStorageService的實例。爲此,您需要爲獲得的localStorageService

實例注入 $injector,然後使用VAR

localStorageService = $injector.get('localStorageService');