【问题标题】:AngularJS ng-repeat with filter on two array keysAngularJS ng-repeat 在两个数组键上带有过滤器
【发布时间】:2014-08-17 12:35:15
【问题描述】:

我正在使用 ng-repeat 来显示一个数组,并使用过滤器。我的数组有很多键,我可以将过滤器应用于一个特定的键:

ng-repeat="project in projects = (list | filter: { name: filter }) | orderBy: 'name'"

但是当我描述一个过滤器时,它应该显示数组条目,其中来自过滤器的字符串在名称或描述中找到。

有什么建议吗?

已解决

http://plnkr.co/edit/scuPYt?p=preview

【问题讨论】:

标签: angularjs ng-repeat


【解决方案1】:

您需要在 $scope 中为该控制器创建一个搜索过滤器:

$scope.searchFilter = function (project) {
    var keyword = new RegExp($scope.filter, 'i');
    return !$scope.filter || keyword.test(project.name) || keyword.test(project.description);
};

然后将 ng-repeat 改为:

ng-repeat="project in projects | filter: searchFilter) | orderBy: 'name'"

您可能需要重新添加列表 - 以前没有遇到过。

【讨论】:

    猜你喜欢
    • 2016-07-31
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2019-06-16
    • 2016-09-19
    • 2020-05-28
    • 2016-06-16
    相关资源
    最近更新 更多