Confusion $locationChangeSuccess et $stateChangeStart

Je suis en train de faire certains d'authentification avec AngularUI Routeur. $urlRouter.sync() ressemble exactement à ce dont j'ai besoin. Toutefois, c'est seulement disponible quand j'en ai intercepter $locationChangeSuccess. Mais quand je fais ça, $state.current.name est vide, alors que je veux qu'il soit à l'état actuel.

Voici mon code pour l'instant:

$rootScope.$on('$locationChangeSuccess', function(event, next, nextParams) {
  event.preventDefault();
  if ($state.current.name === 'login') {
    return userService.isAuthenticated().then(function(response) {
      var authenticated;
      authenticated = response.authenticated;
      return alert(authenticated);
    });
  }
});

Aucune idée de ce que je fais mal?

Euh... Qu'en $stateChangeSuccess?
Alors je ne peux pas utiliser urlRouter.sync()
$state.current.name ne seront vides sur le chargement initial de la page. Les modifications d'état déclenché par la suite auront un nom d'état. Si tout ce que vous devez faire est d'appliquer l'authentification, puis de les écouter sur $stateChangeStart - vous n'avez pas besoin de vous soucier de $urlRouter.sync(). Il y a beaucoup d'exemples autour de démontrer que.
Pouvez-vous partager ce qui est de l'exigence??
de nombreux exemples autour de démontrer que." où?

OriginalL'auteur Shamoon | 2014-09-16