装饰过滤器

装饰过滤器时,name 参数必须包含 Filter 后缀(区分大小写)。如果过滤器被称为 repeat,则 decorator 参数为 repeatFilter。下面我们将装饰自定义过滤器,重复任何给定的字符串 n 次,以便反转结果。你也可以用同样的方式装饰 angular 的内置过滤器,虽然不推荐,因为它会影响框架的功能。

<body>
  <div ng-bind="'i can haz cheeseburger ' | repeat:2"></div>
</body>

angular.module('app', [])
  .config(function($provide) {
    $provide.decorator('repeatFilter', function($delegate) {
      return function reverse(input, count) {
        // reverse repeated string
        return ($delegate(input, count)).split('').reverse().join(''); 
      };
    });
  })
  .filter('repeat', function() {
    return function(input, count) {
      // repeat string n times
      return (input || '').repeat(count || 1);
    };
  });   

StackOverflow 文档

StackOverflow 文档