web-dev-qa-db-fra.com

Quelle est la différence entre $ locationChangeSuccess et $ locationChangeStart?

Quelle est la différence entre $locationChangeSuccess et $locationChangeStart?

Ce sont deux événements non documentés liés à window.location.

25
Lior

$locationChangeStart Est déclenché lorsque AngularJS commence à mettre à jour l'emplacement du navigateur en fonction des mutations effectuées via le service $location ($location.path(), $location.search()).

Il peut arriver qu'une application écoute l'événement $locationChangeStart Et appelle preventDefault() dessus. Dans ce cas, le deuxième événement ($locationChangeSuccess) Ne sera pas diffusé.

En bref: $locationChangeStart Se déclenche lorsque l'emplacement est mis à jour. Il est suivi de $locationChangeSuccess Si la première action n'a pas été empêchée.

Les bits pertinents du code source sont ici: https://github.com/angular/angular.js/blob/2508b47c1a34dfc834f8fde858574f81af4d287e/src/ng/location.js#L598

44
pkozlowski.opensource