ルート変更でイベントを監視/トリガーするにはどうすればよいですか?
240327 次
6 に答える
333
注: これは、AngularJS のレガシー バージョンに対する適切な回答です。更新されたバージョンについては、この質問を参照してください。
$scope.$on('$routeChangeStart', function($event, next, current) {
// ... you could trigger something here ...
});
次のイベントも利用できます (それらのコールバック関数は異なる引数を取ります):
- $routeChangeSuccess
- $routeChangeError
- $routeUpdate - reloadOnSearchプロパティが false に設定されている場合
$routeドキュメントを参照してください。
他に 2 つの文書化されていないイベントがあります。
- $locationChangeStart
- $locationChangeSuccess
$locationChangeSuccess と $locationChangeStart の違いは何ですか?を参照してください。
于 2013-02-08T04:57:50.703 に答える
30
ウォッチを特定のコントローラー内に配置したくない場合は、Angular アプリでアプリケーション全体のウォッチを追加できます。run()
var myApp = angular.module('myApp', []);
myApp.run(function($rootScope) {
$rootScope.$on("$locationChangeStart", function(event, next, current) {
// handle route changes
});
});
于 2016-05-08T13:59:34.780 に答える
11
$rootScope.$on( "$routeChangeStart", function(event, next, current) {
//..do something
//event.stopPropagation(); //if you don't want event to bubble up
});
于 2015-09-29T12:55:17.550 に答える