AngularJS - 当前可见的"全选"项目

Dan*_*Dan 2 list selectall visible angularjs

我目前正在尝试找出选择列表中当前可见的所有项目的最佳方法.

我目前在我的作用域中有一个大的项目列表,其中应用了分页,因此一次只能看到此列表中的一些项目.我有一个"全选"按钮,其中所需的行为是让它选择当前可见的所有项目 - 而不是列表中的所有项目.

我想我可以通过使用ng-init指令将可见项添加到控制器中的列表来实现它,然后我可以使用该列表来查看可见内容.对我而言,似乎必须有一个我错过的更好的解决方案.

有没有人有一个优雅的解决方案?

Joe*_*Joe 6

不是最清楚的问题,但我假设你正在使用某种过滤器的ng-repeat,它会将物品击倒到你想要显示的物品上.您可以在声明ng-repeat时设置内联范围变量,并对其进行处理.

所以,如果您的HTML看起来像这样:

<div ng-repeat="item in items | someFilter"></div>
Run Code Online (Sandbox Code Playgroud)

您可以将其更改为:

<div ng-repeat="item in visibleItems = (items | someFilter)"></div>
Run Code Online (Sandbox Code Playgroud)

然后你可以$scope.visibleItems在你的控制器里面使用,它只包含已通过你的物品的某个子集someFilter.