ng-table,getData不止一次调用,为什么?

Dan*_*iel 3 angularjs ngtable

出于某种原因,当getData使用角度资源来调用数据时,它被调用两次,导致资源两次执行REST请求<--- bad ...

知道为什么以及如何解决它?

这里有一个重新创建这个场景的工作测试用例/ plunker示例(查看浏览器控制台 - "getData被调用...."显示两次)顺便说一下你可以看到我并没有真正使用该资源来提供真实数据,只是为了演示场景,在我的真实应用程序中,我确实使用该资源来提供真实数据,并将其调用两次,就像在此示例中一样,

谢谢你


在查看ng-table的src后,我注意到以下内容

$scope.$watch('params.$params', function(params) {
    $scope.params.settings().$scope = $scope;
    $scope.params.reload();
}, true);
Run Code Online (Sandbox Code Playgroud)

这意味着表调用它'getData',count/filter/group/groupBy/page/sorting 它解释了我所看到的行为.

Ale*_*yev 10

当你调用params.count(...)时,你要求ng-table在你改变页面大小时刷新数据.这就是为什么你有两个get-data调用.

如果您不想进行分页,则删除调用params.count和params.total.如果您需要分页,请设置页面大小,不要在getData中更改它.