Angularjs ui路由器-在解析时停止更改状态

Angularjs ui路由器-在解析时停止更改状态,angularjs,angular-ui-router,Angularjs,Angular Ui Router,在特定状态下,用户正在单击指向其他状态的链接,在该状态下,存在检查用户是否具有权限的解决条件。 如果用户没有权限,如何停止将状态更改为新状态?类似的问题很少,例如检查。它应该给你一些想法,还有,有一个工作的plunker.OK。所以不是在resolve中,而是在$stateChangeStart上-thxectly。。。此事件可能/应该是这些“AOP”解决方案的场所欢迎来到stackoverflow,@Maciej。感谢您抽出时间回答。将来,我建议添加一个解释,说明这是如何回答OP(原始海报)的

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

类似的问题很少,例如检查。它应该给你一些想法,还有,有一个工作的plunker.OK。所以不是在resolve中,而是在$stateChangeStart上-thxectly。。。此事件可能/应该是这些“AOP”解决方案的场所欢迎来到stackoverflow,@Maciej。感谢您抽出时间回答。将来,我建议添加一个解释,说明这是如何回答OP(原始海报)的答案的。
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
  }
});