如何在 $filter Angular JS 中使用多个过滤器

How to use multiple filter in $filter Angular JS

我有两个过滤器需要应用于控制器的内容。第一个过滤器将是小写的,另一个是自定义过滤器。

我试过如下使用它:

$filter('lowercase','cardShortNameRegex')(currentProductObject.shortName);

只应用小写过滤器而不应用其他过滤器。

如果有人有任何解决方案或建议请帮助。

就一个接一个的叫吧。

var lowerCasedName = $filter('lowercase')(currentProductObject.shortName);
var result = $filter('cardShortNameRegex')(lowerCasedName);

您也可以像这样定义自己的函数:

var result = multipleFilters('lowercase', 'cardShortNameRegex')(currentProductObject.shortName);

function multipleFilters() {
  var filters = arguments;
  return function (input) {
    angular.forEach(filters, function (filterName) {
      input = $filter(filterName)(input);
    });
    return input;
  }
}

接受多个过滤器名称并应用它们。