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

时间:2014-06-26 14:35:33

标签: javascript angularjs

我这样做是有效的

$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进行过滤

1 个答案:

答案 0 :(得分:2)

首先,你写的是错的。您基本上是传递具有重复键的对象。在严格模式下,这是行不通的。在非严格模式下,它将采用最后一个值,在您的情况下为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"]});

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