ng-Repeat上的角度简单滤波器(> 5)

时间:2014-06-08 20:06:41

标签: javascript jquery html angularjs

我有一个简单的Angular形式,我想过滤ng-repeat,只显示值> 5。

<body ng-controller="MainCtrl">
 <div ng-repeat="item in items | filter:value:>5??????/p>
    <p><input type=text ng-model="item.value"></p>
 </div>
</body>

我无法确定此语法。我假设它是一个内置的过滤器。

参考:

  app.controller('MainCtrl', function($scope) {
          $scope.items = [ { value: 1 }, { value: 2 }, { value: 5}, { value: 7 } ];

1 个答案:

答案 0 :(得分:2)

没有为此内置过滤器,也没有任何语法可以传递给默认过滤器。

你可以:

1。将函数传递给默认过滤器。

HTML:

<div ng-repeat="item in items | filter:filterFn">

JS:

$scope.filterFn = function(item) {
  return item.value > 5;
};

2。注册您自己的过滤器

HTML:

<div ng-repeat="item in items | greaterThan:5">

JS:

app.filter('greaterThan', function() {
  return function(items, value) {

    var filtered = [];

    for (var i = 0; i < items.length; i++) {
      if (items[i].value > value) filtered.push(items[i]);
    }

    return filtered;
  }
});