Ответ 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