Какая разница между $locationChangeSuccess и $locationChangeStart?

Какая разница между $locationChangeSuccess и $locationChangeStart?

Они являются недокументированными событиями, связанными с window.location.

Ответ 1

$locationChangeStart запускается, когда AngularJS начинает обновлять местоположение браузера на основе мутаций, выполняемых с помощью службы $location ($location.path(), $location.search()).

Может случиться так, что приложение будет прослушивать событие $locationChangeStart и будет называть preventDefault() на нем. В этом случае второе событие ($locationChangeSuccess) не будет транслироваться.

Короче: $locationChangeStart срабатывает при обновлении местоположения. За ним следует $locationChangeSuccess, если первое действие не было предотвращено.

Соответствующие биты исходного кода: https://github.com/angular/angular.js/blob/2508b47c1a34dfc834f8fde858574f81af4d287e/src/ng/location.js#L598