2016-01-13 108 views
0

以下过滤器做出NG重复只显示pano s的isOutRoomtrue如何在自定义过滤器中添加多个参数?

<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-重复。

+0

http://plnkr.co/edit/HHEVO24V75gwEivPooyx?p=preview –

回答

1

可以使用:

filter: filterByRoom : secondArg : thirdArg

编辑独立的参数:是这样的回答后更详细的问题:https://stackoverflow.com/a/16227326/841804

+0

古怪我试图'”和 '“展示。 – alexchenco

+0

我试过所有的组合。尽管如此,仍然无法实现。 – alexchenco

+0

下面是一个示例plunker:https://plnkr.co/edit/VGHTbtBIrNfK9adCizzJ?p=preview – Chanthu

1

过滤器还可以带参数。语法如下:

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

例如,标记{{1234 | number:2}}使用数字过滤器将数字1234格式化为2个小数点。结果值是1,234.00。

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

+0

该文档显示了这一点:'{{expression | filter:argument1:argument2:...}}'但是我看起来更像'{{expression | filter:filterName:argument1:argument2:...}}'但那不行。 – alexchenco

+0

@alexchenco你可以改变它为filterName:argument1:argument2并测试? –

相关问题