过滤相同参数的两个值

Filter of two values for same parameter

在 AngularJS 我想知道是否可以使用两个可能的值过滤视图列的数据。所以...如果我将参数值传递给页面的控制器,我想将数据限制为特定值......

Data:
Product        Status
Item 1         Active
Item 2         Planned
Item 3         Completed
Item 4         Cancelled

如果我只想要一个值,我可以传递 routeParams,例如 filterCol、filterVal,这样下面将只显示活动的项目:

/programs/status/Active/

app.controller('AllItemsController', function($scope,$http,$rootScope,$routeParams){
$scope.tableFilter = {};
    if($routeParams.filterCol && $routeParams.filterVal){
        $scope.tableFilter[$routeParams.filterCol] = $routeParams.filterVal;
    }
});

我的 XML 看起来类似于:

<table class="table table-bordered table-condensed table-hover" ts-wrapper
    <thead>
        <tr>
            <th ts-criteria="itmName | lowercase">Item Name</th>
            <th ts-criteria="status">Status</th>
        </tr>
        <tr>
          <th><input type="text" class="form-control input-sm" ng-model="tableFilter.itmName"></th>
          <th><input type="text" class="form-control input-sm" ng-model="tableFilter.status"></th>
        </tr>
    </thead>
    <tbody>
            <tr ng-repeat="it in allItemData | filter: tableFilter" ts-repeat ">
                <td>{{it.itmName}}</td>
                <td>{{it.status}}</td>
            </tr>
     </body>
</table>

现在,如果我想发送 'ActPlan' 之类的值并显示所有活动或计划的项目,我该如何更改控制器? (如:/programs/status/ActPlan/)

我想我必须以某种方式更改 $scope.tableFilter 的设置方式(通过检查 $routeParams.filterVal 的值),但我不知道如何设置 tablefilter 并且不能找一个例子来帮助我。我尝试将其设置为等于 ['Active, Planned'],但这并没有带来任何结果。

如果你有多个条件,你可以只使用一个过滤函数,像这样thread