25

$locationChangeSuccessとはどう違い$locationChangeStartますか?

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

4

1 に答える 1

44

$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

于 2013-02-21T16:25:50.420 に答える