Angularjs Ng表获取筛选数据

Angularjs Ng表获取筛选数据,angularjs,filter,ngtable,Angularjs,Filter,Ngtable,这是我正在使用ng table编写的代码的摘录。我的问题很简单,应该很容易克服,但我就是做不到 以下是摘录: $scope.loading++; clean(); $scope.environment = "SOMEENV"; $http({ method: 'GET', url: 'http://SOME

这是我正在使用ng table编写的代码的摘录。我的问题很简单,应该很容易克服,但我就是做不到

以下是摘录:

$scope.loading++;
            clean();    
            $scope.environment = "SOMEENV";
                    $http({
                        method: 'GET',
                        url: 'http://SOMEIP:SOMEPORT/all?environment=SOMEENV' 
                        }).then(function successCallback(response) {
                                // this callback will be called asynchronously
                                // when the response is available

                                $scope.nodes = response.data;
                                $scope.chartdataservtype=countservtype(response.data);
                                $scope.tableParams  = new NgTableParams({}, { dataset: response.data.rows  });
。。。之后还有更多代码

让我们说,稍后,我想得到过滤后的数据,不仅是表的可见部分,而且是整个表的数据。根据他们的GitHub回购协议,我应该能够轻松地做到这一点,就像写:

var filteredData = $scope.tableParams.data;
但问题是,这种方法只提供了表上可见的行。我想要整套数据

有人说我可以自定义ng table的getData函数(尽管在他们的repo上,其他人说不需要,因为它已经“解决了”),但我不知道怎么做


你们能帮忙吗?

你们可以访问控制器中的过滤数据,包括
ngTableEventsChannel
服务,并监听过滤器的更改:

function yourController($scope, NgTableParams, ngTableEventsChannel) {
    activate();

    function activate() {
        ngTableEventsChannel.onAfterDataFiltered(function(tableParams, filteredData){
            //DO SOMETHING
        });
     }
}
在这种情况下,
tableParams
将是已更改的
NgTableParams
实例。而
filteredData
将是您想要访问的内容,您的过滤数据(yahoo!)


更多信息:

顺便说一句,这里是他们说的固定位置:哈哈。很高兴现在知道。我必须重写getData函数才能得到它。无论如何,谢谢!:)