我试图创建一个可以在ng-repeat和控制器中使用的过滤器,我有点困难。
我已经创建了一些
形式的控制器过滤器$scope.myfilter = function($item){
if($item == "blah"){
return true;
}
return false;
}
但发现了你附加到模块的那些,而是接受列表。
angular.module('filters',[])
filter(function(){
return function(list){
//filter code goes here.
}
});
显然它可以在列表上运行比较器版本,因为它可以用于ng-repeats。有没有一种简单的方法可以在列表中运行比较器滤波器?我有点困惑,你何时会使用一个而不是另一个?
答案 0 :(得分:0)
请看这里http://jsbin.com/wajecu/2/edit
您可以在此处找到更多文档https://docs.angularjs.org/tutorial/step_09
过滤强>
app.filter('myfilter', function() {
return function(input) {
var filtered = [];
angular.forEach(input, function (value){
if(value == "blah"){ filtered.push(value); }
});
return filtered;
};
});
<强>控制器:强>
app.controller('firstCtrl', function($scope,$filter){
$scope.items = ["blah", "ech", "mech"];
//you can use your filter inside controller in that way:
$scope.filtered= $filter('myfilter')($scope.items);
});
<强> HTML:强>
<p ng-repeat="item in items | myfilter ">{{item}}</p>