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

登录后AngularJS ui-router重定向

发布时间:2020-12-17 07:08:28 所属栏目:安全 来源:网络整理
导读:我有一个使用AngularJS和ui-router的项目.除了从登录屏幕重定向到第一次加载时的预览状态,一切正常. 默认状态为home – http://test/#/ 例如,如果用户未登录 – http://test/#/test/1000/details进入登录页面(应该这样做) 然后在用户登录后,系统进入默认状态
我有一个使用AngularJS和ui-router的项目.除了从登录屏幕重定向到第一次加载时的预览状态,一切正常.

默认状态为home – http://test/#/

例如,如果用户未登录 – http://test/#/test/1000/details进入登录页面(应该这样做)

然后在用户登录后,系统进入默认状态“home – http://test/#/”,但我想转到http://test/#/requests/1000/details

如何在登录后保存“http://test/#/requests/1000/details或stateName”以重定向?

我尝试使用$stateChangeSuccess来保存$rootscope中的状态日志,但第一个(http://test/#/requests/1000/details)永远不会被保存.

任何想法如何处理这个?

谢谢.

解决方法

您可以在main-app的run方法中为$state添加’previous’属性.

这就是我解决问题的方法:

// add ui-router variables to $rootScope. Comes handy in many cases,for example setting page title
angular.module('app').run(['$rootScope','$state','$stateParams',addUIRouterVars]);

function addUIRouterVars($rootScope,$state,$stateParams) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;

    // add previous state property
    $rootScope.$on('$stateChangeSuccess',function (event,toState,toParams,fromState) {
        $state.previous = fromState;
    });
}

(编辑:李大同)

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

    推荐文章
      热点阅读