我希望能够使用作为数组传入的许多参数来过滤我的表。因此,我可以建立一个过滤参数数组并将它们传入。我不想明确说明要过滤的列,因为可能有许多列(一些将显示而另一些不会显示)。
HTML看起来像这样;
<tr ng-repeat="item in infoData | filter:['param1','param2']">
<td>{{item.data1}}</td>
<td>{{item.data2}}</td>
<td>{{item.data3}}</td>
<td>{{item.data4}}</td>
</tr>
是否可以针对多个参数过滤表格?
由于
答案 0 :(得分:5)
这是完成所需工作的快捷方式。
首先在控制器中创建一个自定义过滤器,如下所示:
$scope.customFilter = function(param1, param2) {
return function(item) {
//return custom stuff here
}
}
然后在html中你这样做
<tr ng-repeat="item in infoData | filter:customFilter(param1, param2)">
<td>{{item.data1}}</td>
<td>{{item.data2}}</td>
<td>{{item.data3}}</td>
<td>{{item.data4}}</td>
</tr>
这是自定义过滤器的示例
app.filter('customFilter', function (param1, param2) {
return function (item) {
//return custom stuff here
};
});
现在在html中执行此操作:
<tr ng-repeat="item in infoData | customFilter(param1, param2)">
<td>{{item.data1}}</td>
<td>{{item.data2}}</td>
<td>{{item.data3}}</td>
<td>{{item.data4}}</td>
</tr>