javascript - 如何使用一个参数调用多个变量的过滤器?

标签 javascript angularjs filter

我有一个对象表:

[{"id": 11,
  "firstName": "Henry", 
  "lastName": "Durand", 
  "ManageList": { "id": 111, "lastName": "Coco"
                  "id": 112, "lastName": "Cocou"
                }
  "id": 12,
  "firstName": "John", 
  "lastName": "Durorn", 
  "ManageList": { "id": 121, "lastName": "Ceicol"
                  "id": 122, "lastName": "Cunoe"
                }
}]

我想通过输入进行快速搜索:

<input type="search" ng-model="filterSearch" />

然后我只想过滤 id、firstName 和 lastName(不是 ManageList 的 id 或 lastName)。

ng-repeat="manager in managers | filter: filterSearch"

此过滤器监视所有内容,包括 ManageList。 是否可以做类似的事情:

ng-repeat="manager in managers | filter: {firstName:filterSearch || lastName:filterSearch || id:filtersearch}"

最佳答案

我建议您在 Controller 级别应用过滤器, View 级别过滤器总是会降低您的性能。创建过滤器并将它们用作 Controller 中的依赖项。

angular.module('APP').filter('CustomFilterName', ['$filter', function (filter) {
  return function output(data) {
    // filter operations
    return data; // after filtering
  };
}]);

angular.module('APP').controller('ControllerName', ['$filter', function(filters) {
  filters.CustomFilterName(data);
}])

关于javascript - 如何使用一个参数调用多个变量的过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41245423/

相关文章:

JavaScript:数组方法如何可链接?这是如何运作的?

javascript - 在for循环中完成API获取后如何调用函数?

javascript - 如何创建函数过滤器 reactjs?

JavaScript - 将空格分隔的文本文件读入数组并用作查找表

javascript - 如何获取字符串中每个单词的长度

javascript - 有没有可折叠的调整大小菜单插件?

javascript - 使用动态名称 JS 创建对象

javascript - 有没有办法让枚举在整个meanjs堆栈中可用

javascript - 在 Angularjs 中使用指令触发 ng-change

python - 如何在Python中为RC电路创建传递函数