【问题标题】:Is it possible to filter with multiple condition in angularjs?是否可以在angularjs中过滤多个条件?
【发布时间】:2017-02-15 10:26:34
【问题描述】:

我有一个名为 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

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

【问题讨论】:

标签: angularjs angular-filters


【解决方案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

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    相关资源
    最近更新 更多