过滤相同参数的两个值
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。
在 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。