加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular ui-router $state.go不会重定向内部解析

发布时间:2020-12-17 08:00:17 所属栏目:安全 来源:网络整理
导读:在我的angularjs应用程序中,我正在检查用户是否登陆着陆页并且已经过身份验证,然后将其重定向到主页。 .state('landingpage',{ abstract: "true",url: "/landingpage",templateUrl: "app/landingpage/landingpage.html",resolve: { AutoLoginCheck: ['$sta
在我的angularjs应用程序中,我正在检查用户是否登陆着陆页并且已经过身份验证,然后将其重定向到主页。
.state('landingpage',{
            abstract: "true",url: "/landingpage",templateUrl: "app/landingpage/landingpage.html",resolve: {
                AutoLoginCheck: ['$state','$window',function ($state,$window) {

                    if($window.localStorage.access_token != null)
                    {
                        if($window.sessionStorage.access_token == null) {
                            $window.sessionStorage.access_token = $window.localStorage.access_token;
                        }
                        UserInfoService.SetUserAuthenticated(true);

                        // it is not redirecting
                        return $state.go('app.home');

                    }
                }]
            }
        })

问题是虽然所有解析代码都成功运行,但用户没有被重定向到app.home。有人能说出为什么会这样吗?

注意:状态’app’也有一个解决方案,它可以获取要在’app.home’状态下显示的数据。

您的问题可以有两种解决方案

>首先,您可以发出一个事件,监听器将处理您的状态转换。您可以在父控制器中的任何位置实现侦听器
>其次,您可以实现$ stateChangeStart挂钩并检查您的重定向条件

$rootScope.$on('$stateChangeStart',function (event,toState) {      
     if (toState.name === 'landingpage') {              
       if (!isAuthenticated()) { // Check if user allowed to transition                  
            event.preventDefault();   // Prevent migration to default state                  
            $state.go('home.dashboard');           
        }
      }
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读