ui-router - 停止在解析时更改状态

时间:2014-11-20 12:06:48

标签: angularjs angular-ui-router

在特定状态下,用户正在单击指向其他状态的链接,其中存在解决用户是否具有权限的解决条件。 如果用户没有权限,如何停止将状态更改为新状态?

1 个答案:

答案 0 :(得分:1)

var routesThatRequireAuth = ['/user', '/account', '/messages']; 
var hasPermisions = false;

$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
  if($.inArray(toState.url,routesThatRequireAuth)>-1 && !hasPermisions) {

    event.preventDefault();
    // ...
    // alert message
  }
});