web-dev-qa-db-ja.com

$ locationChangeSuccessと$ locationChangeStartの違いは何ですか?

$locationChangeSuccess$locationChangeStartの違いは何ですか?

どちらもwindow.locationに関連する文書化されていないイベントです。

25
Lior

_$locationChangeStart_は、AngularJSが_$location_サービス($location.path()$location.search())を介して行われた変更に基づいてブラウザーの位置を更新し始めるときに発生します。

アプリケーションが_$locationChangeStart_イベントをリッスンし、そのイベントでpreventDefault()を呼び出す場合があります。この場合、2番目のイベント(_$locationChangeSuccess_)はブロードキャストされません。

つまり、場所が更新されると_$locationChangeStart_が発生します。最初のアクションが防止されなかった場合は、その後に_$locationChangeSuccess_が続きます。

ソースコードの関連するビットはここにあります: https://github.com/angular/angular.js/blob/2508b47c1a34dfc834f8fde858574f81af4d287e/src/ng/location.js#L598

44