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’状态下显示的数据。
您的问题可以有两种解决方案
>首先,您可以发出一个事件,监听器将处理您的状态转换。您可以在父控制器中的任何位置实现侦听器 $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'); } } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |