В чем разница между $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