使用参数创建过滤器

默认情况下,过滤器具有单个参数:应用它的变量。但是你可以将更多参数传递给函数:

angular
  .module('app', [])
  .controller('MyController', function($scope) {
    $scope.example = 0.098152;
  })
  .filter('percentage', function($filter) {
    return function (input, decimals) {
      return $filter('number')(input * 100, decimals) + ' %';
    };
  });

现在,你可以为 percentage 过滤器提供精度:

<span ng-controller="MyController">{{ example | percentage: 2 }}</span>
=> "9.81 %"

…但其他参数是可选的,你仍然可以使用默认过滤器:

<span ng-controller="MyController">{{ example | percentage }}</span>
=> "9.8152 %"