AngularJS过滤器具有多个参数

前端之家收集整理的这篇文章主要介绍了AngularJS过滤器具有多个参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够使用作为数组传入的许多参数来过滤我的表.因此,我可以构建一个过滤器参数数组并将它们传入.我不想明确说明要过滤的列,因为可能有许多列(一些将显示,一些不会显示).

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>

有没有针对多个参数过滤表?

谢谢

解决方法

这是实现您所需要的快速而肮脏的方式.

首先在控制器中创建一个自定义过滤器,如下所示:

$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>

猜你在找的Angularjs相关文章