我有一系列我正在展示的项目
<tr ng-repeat="i in items | filter:search_text" ...>
这些项目有一个表示“已选择”的复选框.
当我需要执行诸如调用将删除所有选定项目的删除功能之类的操作时,如何知道过滤器显示哪些项目?
已选择(在复选框中选中)然后通过过滤隐藏的项目仍被选中.我需要一种方法来了解此刻屏幕上的哪个项目.
您可以使用$filter来调用控制器中的过滤器.
app.controller('MyCtrl',function($scope,$filter){ var filter = $filter('filter'); $scope.items = [/* your items here */] $scope.selectAllFilteredItems = function (){ var filtered = filter($scope.items,$scope.search_text); angular.forEach(filtered,function(item) { item.selected = true; }); }; });
然后,您可以在ng-click或任何其他需要的地方调用selectAllFilteredItems().