Angulaire JS ui-routeur comment rediriger vers un état enfant d'un parent?

Lors de l'utilisation de onEnter pour rediriger vers un etat, si le nouvel état est un enfant de l'état actuel, une boucle infinie se produit.

Exemple:

$stateProvider
  .state 'inventory',
    url: '/inventory'
    templateUrl: 'views/inventory.html'
    controller: 'InventoryCtrl'
    onEnter: () ->
      $state.go 'inventory.low'
  .state 'inventory.low',
    url: '/low'
    templateUrl: 'views/inventory-table.html'
    controller: 'LowInventoryCtrl'

Lorsque:

$state.go 'inventory.low'

Est appelée, l'état inventory est ré-initialisé, l'amenant à être appelé de nouveau = boucle infinie.

Toutefois, si la redirection de l'état est:

$state.go 'otherStateThatIsNotAChild'

Ce problème ne se produit pas. Je suppose que le parent de l'etat est en train d'être ré-initialisé, mais pourquoi?

  1. Pourquoi le parent état d'être réinitialisé lors de la .go est appelée sur un état d'enfant?
  2. Comment, alors, voulez-vous gérer la redirection vers un état d'enfant?

source d'informationauteur TaylorMac