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

时间:2016-08-30 12:40:56

标签: angularjs angular-filters

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

我尝试使用它如下:

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

只应用小写过滤器而不应用另一个过滤器。

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

1 个答案:

答案 0 :(得分:1)

请一个接一个地打电话。

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;
  }
}

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

相关问题