$routeChangeSuccess
$location.search() 変数のようなイベントが必要です。私は $location.search('newview') を呼び出しており、いつ変更されたかを知る方法が必要です。
ありがとう!
使用する必要があります$scope.$watch
:
$scope.$watch(function(){ return $location.search() }, function(){
// reaction
});
詳細について$watch
は、Angular docsを参照してください。
「newview」をクエリ文字列に追加するだけの場合は、上記のコードが機能します。
すなわちから
http://server/page
へhttp://server/page?newvalue
ただし、「newview」の変更を探している場合、上記のコードは機能しません。
すなわちから
http://server/page?newvalue=a
へhttp://server/page?newvalue=b
$watch の呼び出しには「objectEquality」パラメーターを使用する必要があります。これにより、$watch はオブジェクト参照の等価性ではなく、値の等価性を使用します。
$scope.$watch(function(){ return $location.search() }, function(){
// reaction
}, true);
3 番目のパラメーター (true) が追加されていることに注意してください。
コントローラーで $routeUpdate イベントをリッスンできます。
$scope.$on('$routeUpdate', function(){
$scope.sort = $location.search().sort;
$scope.order = $location.search().order;
$scope.offset = $location.search().offset;
});