私のページには、並べ替え機能を備えた角度付きのテーブルがあります。列をクリックして並べ替えを変更すると、新しいデータに対して $http 要求が行われ、再適用されます。すべてうまく機能しますが、ページを一番上までスクロールするのが面倒です。
私のソートリンクは、ディレクティブによってレンダリングされます:<a ng-click='sort()' href='#' ng-transclude></a>
私のソートハンドラーもディレクティブで定義されています:
link: function (scope, el, attrs) {
scope.sort = function () {
// Want to check the pagerInfo of the controller
scope.$parent.onsort(scope.sortby, sortDir);
return false;
};
}
これは、コントローラーの関数を呼び出してデータを再フェッチするだけです。
私はもう試した:
- sort 関数から false を返す
- これをモジュールに追加して、Angular のスクロールを無効にします。
var ngGrid = angular.module("ngGrid", []).value('$anchorScroll', angular.noop);
min-height
それが原因であった場合に備えて、テーブルの css にa を設定しますng-href
アンカー リンクで href の代わりに使用します。