是否可以在angularjs中过滤多个条件?

时间:2017-02-15 10:26:35

标签: angularjs angular-filters

我有一个名为result.data.EAPP_USERS

的对象数组
0:Object

SECURITYCLASS:90

USERID:"ASISH90"

1:Object

SECURITYCLASS:90

USERID:"VANDERSONIR"

2:Object

SECURITYCLASS:90

USERID:"BISWA90"

3:Object

SECURITYCLASS:93

USERID:"TABITHA93"


4:Object

SECURITYCLASS:93

USERID:"ASISH93"

5:Object

SECURITYCLASS:95

USERID:"TAB95"


6:Object

SECURITYCLASS:95

USERID:"ASISH95"

我想使用SECURITYCLASS值90和93过滤数据。 我试过这段代码

$scope.OpportunityOwners = $filter('filter')(result.data.EAPP_USERS, { SECURITYCLASS: "90"} || {SECURITYCLASS: "93"});

但结果包含仅具有SECURITYCLASS值90的对象。 即

0: Object
SECURITYCLASS: 90
USERID: "ASISH90" 

1: Object
SECURITYCLASS: 90
USERID: "VANDERSONIR"

2: Object
SECURITYCLASS: 90
USERID: "BISWA90"

我知道可以通过SECURITYCLASS过滤:“90”和SECURITYCLASS:“93”;合并它们以获得最终结果。

但是只能使用$filter一次吗?

是否可以使用多个约束进行过滤?

1 个答案:

答案 0 :(得分:1)

您应该创建自定义filter。通过评估一个filter中的多个条件,它将获得'性能'。

$scope.filterData = function (item) {
    return (item.SECURITYCLASS === 90 || item.SECURITYCLASS === 93);
}

在你看来:

<div ng-repeat="item in data | filter:filterData">
    {{::item}}
</div>

请参阅Plunkr