Angularjs Ng表获取筛选数据
这是我正在使用ng table编写的代码的摘录。我的问题很简单,应该很容易克服,但我就是做不到 以下是摘录:Angularjs Ng表获取筛选数据,angularjs,filter,ngtable,Angularjs,Filter,Ngtable,这是我正在使用ng table编写的代码的摘录。我的问题很简单,应该很容易克服,但我就是做不到 以下是摘录: $scope.loading++; clean(); $scope.environment = "SOMEENV"; $http({ method: 'GET', url: 'http://SOME
$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函数才能得到它。无论如何,谢谢!:)