获取当前正在转换到的州的名称

时间:2015-03-12 11:27:57

标签: angularjs angular-ui-router

在我的一些状态结算中,我正在进行检查以确保用户已登录,如果不是,则将其重定向到登录状态。登录后,我想重定向回原定的状态。

我的问题是:如何从解析函数中获取当前正在转换到的状态的名称(以便我可以在登录后存储并转换到它)?

我查看了$state的文档,我找到的只是$state.transition,但这里不包含任何有用的信息。

1 个答案:

答案 0 :(得分:0)

您是否有理由需要在解析函数中处理它?<​​/ p>

通常,这种活动将在stateChangeStart事件中处理......

$rootScope.$on('$stateChangeStart', 
function(event, toState, toParams, fromState, fromParams){ 
    event.preventDefault(); 
    // transitionTo() promise will be rejected with 
    // a 'transition prevented' error
})

(来自github wiki:https://github.com/angular-ui/ui-router/wiki和API文档:http://angular-ui.github.io/ui-router/site/#/api/ui.router.state。$ state)

您可以将toState存储在服务中,直到成功登录后再更改为请求状态。