Ui-Router $ state.go dans $ on ('$ stateChangeStart') provoque une boucle infinie

Je suis en train d'introduire de connexion dans la façon dont l'utilisateur navigue à travers l'application.

Je fais semblant de rediriger l'utilisateur vers la page où il était avant qu'il accédez à la page de connexion si la page répond à des exigences spécifiques

La prévention de l'événement à partir de l' $stateChangeStart arrêt de la modification de l'état comme prévu, mais quand je lance l' $état.aller('into_somewhere') - je entrer une infinit boucle

Mon angulaire de la version 1.3.1 et l'interface utilisateur du routeur est la dernière

.factory('RouteHistory', function ($rootScope,$log, $state, Auth, $urlRouter, $timeout) {

    //after the user enter a page
    var currentState = '';

    //when the user is trying to access a page that he has not permissions
    //or that requires the user to be logged in
    var pendingState = '';

    var isMenuTogglerVisible = false;
    var skipFromStateVal = true;

    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){

      event.preventDefault();



      if (toState.name == 'login' && fromState.name != 'login'){
        $log.log('Ui-router: changing to login');
        //$urlRouter.sync();
        $state.go('login')
        //pendingState = fromState;
        //$log.log('Peding state updated to:' + pendingState.name );
        //$urlRouter.sync();
      }

      if (fromState.name == 'login' && Auth.isLoggedIn()) {
        $log.log('Ui-router: going from login');
        //$state.go(fromState.name);
        $timeout(function(){
          //$state.go('home', null, {/*reload: true, location: 'replace'*/});
          $state.go('browse-machine');
          //$urlRouter.sync();
        },2000)
      }



      $log.log({
        'toState': toState,
        'toParams': toParams,
        'fromState': fromState,
        'fromParams': fromParams
      })

    })


    return {

    };
  });

source d'informationauteur Lothre1 | 2014-11-07