4

何らかの理由で、getDataangular リソースを使用してデータを取得すると、2 回呼び出され、リソースが REST リクエストを 2 回実行する <--- 悪い...

それを解決する理由と方法はありますか?

ここでは、このシナリオを再現する実際のテストケース/プランカーの例を示します (ブラウザー コンソールを見てください - 「getData が呼び出されています....」が 2 回表示されています)。シナリオを示します。私の実際のアプリでは、リソースを使用して実際のデータを取り込み、この例のように 2 回呼び出されます。

よろしくお願いします


ng-table の src を調べた後、次のことに気付きました

$scope.$watch('params.$params', function(params) {
    $scope.params.settings().$scope = $scope;
    $scope.params.reload();
}, true);

これは、テーブルがそれを「getData」と呼んでいることを意味しますcount/filter/group/groupBy/page/sorting 。これは、私が見た動作を説明しています。

4

3 に答える 3

11

params.count(...) を呼び出すと、ng-table に、ページ サイズを変更するときにデータを更新するように依頼します。そのため、get-data 呼び出しが 2 回あります。

ページングを行いたくない場合は、params.count と params.total の呼び出しを削除してください。ページングが必要な場合は、ページ サイズを設定し、getData で変更しないでください。

于 2014-03-03T07:38:52.133 に答える
0

これは奇妙な理由で私に起こりました。getData は、init (最初のロード) でのみ 2 回呼び出されます。ページの変更または並べ替えで getData が 2 回呼び出されませんでした。その理由は、初期化時に ng-table ディレクティブがテンプレート ファイルに隠されていたためです。

于 2016-12-20T09:09:50.080 に答える