在AngularJS中,我想知道是否可以使用两个可能的值过滤视图列的数据。所以...如果我将参数值传递给页面控制器,我想将数据限制为特定值......
Data:
Product Status
Item 1 Active
Item 2 Planned
Item 3 Completed
Item 4 Cancelled
如果我只想要一个值,我可以传递routeParams,例如filterCol,filterVal,因此以下只会显示处于Active状态的项目:
/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而无法找到帮我的例子。我尝试将其设置为[&#39; Active,Planned&#39;],但这并没有带来任何好处。