2015-07-14 2 views
3

Когда я ставлю $ state, я получаю эту ошибку ... как я могу ее исправить?

Я хочу использовать $ state для перехода на другую страницу, но я не знаю как? Любое предложение ? Есть ли другой способ навигации пользователя на другой странице?

app.factory('mainAuthInterceptorService', ['$q','$state', '$injector', '$location', 'localStorageService', function ($q,$state, $injector, $location, localStorageService) {....} 

им с помощью этого

authService.logOut(); 

И теперь мне нужно перенаправить пользователя на другую страницу ...

+0

составляет $ состояние впрыскивается в 'localStorageService' также? 'authService' не отображается в контроллере. – charlietfl

ответ

1

Одно простое исправление было бы использовать $ инжектора услуги, чтобы получить ссылка на $ состояние обслуживание, например:

app.factory('mainAuthInterceptorService', ['$q', '$injector', '$location', 'localStorageService', 
     function($q, $injector, $location, localStorageService) { 
     var $state = $injector.get('$state'); // inject state manually 

     ... // your interceptor logic 
     } 

Затем вы можете использовать объект $ state, как обычно.

Существует аналогичный вопрос, созданный другим пользователем с большим ответом, который объясняет этот вопрос в глубину: Injecting $state (ui-router) into $http interceptor causes circular dependency

Смежные вопросы