如何过滤控制器上的多个数据



我是这样做的,它正在工作

$scope.data = $filter('filter')($scope.data, {dataType: term ,status : 'F'});

但我必须过滤数据与两个状态

 $scope.data = $filter('filter')($scope.data, {dataType: term ,status : 'F' ,status:'E'});

但是它只取其中一个状态。(F或E)

请建议。

我想根据术语和状态F和E进行筛选

首先,你写的是错误的。你基本上是在传递一个具有重复键的对象。在严格模式下,这是行不通的。在非严格模式下,它将取最后一个值,在你的例子中是E。

现在,来看看解决方案……我认为您想要过滤状态为F或E的数据。你可以写一个自定义过滤器来过滤你想要的数据…如下所示

angular.module('yourAppName').filter('myFilter', function() {
 return function(input, criteria) {
       // your filter logic
 };
});

,你可以通过传递你想要过滤的值数组来调用你的过滤器。

$scope.data = $filter('myFilter')($scope.data, {status : ["A", "B"]});

如何实现完全取决于你(可能你会使用下划线),但你得到一般的想法…要了解有关过滤器的更多信息,请查看此处

最新更新