如何在自定义筛选器中添加多个参数

How to add more than one argument in a custom filter?

本文关键字:添加 参数 自定义 筛选      更新时间:2023-09-26

以下筛选器使ng重复仅显示pano s和isOutRoom true:

<tr ng-if="building.pano.length" ng-repeat="pano in panos | filter: filterByRoom">
$scope.filterByRoom = function(pano, room) {
  return pano.isOutRoom === true
}

我还想做另一个ng重复,它只显示pano s,isVirtualRoom设置为true

如何在过滤器中添加第二个参数,以便在isOutRoomisVirtualRoom之间进行选择?

我试过这个:

<tr ng-if="building.pano.length" ng-repeat="pano in panos | filter: filterByRoom: pano.isOutRoom)"
$scope.filterByRoom = function(pano, room) {
  return pano.room === true

但现在ng重复中没有显示任何内容。

您可以使用: 分离参数

filter: filterByRoom : secondArg : thirdArg

编辑:看起来这篇文章更详细地回答了这个问题:https://stackoverflow.com/a/16227326/841804

过滤器可能有参数。其语法为

{{ expression | filter:argument1:argument2:... }}

例如,标记{{1234|数字:2}}使用数字过滤器格式化具有2个小数点的数字1234。结果值为1234.00。

文档:https://docs.angularjs.org/guide/filter