注入$ state(ui-router)会导致循环依赖

时间:2015-07-14 14:49:57

标签: angularjs

当我把$ state放在那里时我得到了这个错误......我该如何解决?

我想使用$ state导航到另一个页面,但我不知道如何?有什么建议吗?有没有其他方法可以将用户导航到另一个页面?

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

我正在使用这个

 authService.logOut();

现在我需要将用户重定向到另一个页面......

1 个答案:

答案 0 :(得分:1)

一个简单的解决方法是使用 $ injector 服务来获取对 $ state 服务的引用,如下所示:

    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

相关问题