Sur le changement de localisation Angulaire
Est-il un moyen pour détecter l'emplacement global des changements dans AngularJS, et pas seulement un seul contrôleur? Mon objectif est de détecter tout changement d'emplacement.
Ou est-il un moyen efficace pour regarder la fenêtre.emplacement.href changements?
$routeChangeSuccess
Que j'ai compris, c'est pour un seul contrôleur ou je me trompe?
Vous pourriez avoir un contrôleur de base qui englobe l'ensemble de votre application, et le contrôleur de l'écouter pour la routeChangeSuccess événement.
OriginalL'auteur Deepsy | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
Tout d'abord,
$routeChangeSuccess
n'est pas limitée à un seul contrôleur. Il est diffusé à partir de la$rootScope
qui signifie qu'il peut être écouté sur chaque portée (ou, chaque champ qui hérite de$rootScope
) mais est une application large de l'événement.Il y a aussi un sans-papiers de l'événement qui fonctionne de manière similaire à
$routeChangeSuccess
appelé$locationChangeSuccess
. La différence est que les premiers feux lorsqu'un itinéraire a été modifié et ce dernier se déclenche lorsque l'URL est modifiée mais avant que les modifications d'itinéraire. Notez que ce n'est pas tous les changements de l'URL, vient de fois l'URL changements de façon à ce que l'application AngularJS pouvez l'enregistrer (par exemple, un setter appel à$location.url()
).Juste pour clarifier,
$locationChangeSuccess
est diffusé à partir de la$rootScope
.Pour les deux, vous pouvez écouter l'événement à l'aide de
scope.$on('$routeChangeSuccess')
ouscope.$on('$locationChangeSuccess')
.OriginalL'auteur Samuel Horwitz
Pour ceux qui utilisent Angular-UI-Router, cet événement ne se déclenche pas. "$stateChangeSuccess" est le droit de l'événement pour Angular-UI-Router. Pour plus d'informations sur l'INTERFACE utilisateur du routeur événements, voir ce DONC, la question:
Comment déclencher l'INTERFACE utilisateur du Routeur Afficher les événements de Chargement?
et aussi l'API guide:
https://github.com/angular-ui/ui-router/wiki#state-change-events
OriginalL'auteur user3522492