Angular重新加载url但不是状态视图

时间:2015-04-22 08:26:33

标签: javascript angularjs

我正在使用OAuth2协议处理应用程序,我遇到了UI.router模块的问题。

实际上,在每个状态发生变化之前,我需要测试访问令牌是否存储在sessionStorage中。所以我使用像这样的run函数:

.run(['$state', '$window', '$location', '$rootScope', function ($state, $window, $location, $rootScope) {
            $rootScope.$on('$stateChangeStart',
                function (event, toState, toParams, fromState, fromParams) {
                    var accesstoken = sessionStorage.getItem('access_token');
                    if (!accesstoken) {

                        if ($location.url() !== '/access/connexion') {
                            $state.go('access.connexion', null, { reload: true });
                        }
                    }
                });
        }])

我们现在承认我没有连接,我尝试访问像/ users / 12355这样没有访问令牌的网址:

事实是URL刷新,从/ users / 12355传递到/ access / connexion,但视图仍然是/ users / 12355对应的视图(没有加载任何信息,因为我没有访问令牌)

我不知道问题是什么......

此外,如果console.log位于$state.go之上,我似乎在此日志中传递了400次。如果我删除$state.go函数,我只会传递一次......

你能帮助我吗?

注意:access.connexion是根状态

0 个答案:

没有答案