我有一个简单的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 } ];
答案 0 :(得分:2)
没有为此内置过滤器,也没有任何语法可以传递给默认过滤器。
你可以:
HTML:
<div ng-repeat="item in items | filter:filterFn">
JS:
$scope.filterFn = function(item) {
return item.value > 5;
};
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;
}
});