2014-05-16 3 views
2

현재 현재 목록에있는 모든 항목을 선택하는 가장 좋은 방법을 찾으려고합니다.AngularJS - 현재 표시되는 "모두 선택"항목

현재 내 범위에서 큰 목록의 항목에 페이징이 적용되어 있으므로이 목록의 일부 항목 만 한 번에 표시됩니다. 나는 "Select All"버튼을 가지고 있는데, 여기서 원하는 행동은 그것이 현재 보이는 모든 아이템을 선택하게하는 것입니다 -리스트의 모든 아이템을 선택하는 것은 아닙니다.

컨트롤러의 목록에 보이는 항목을 추가하기 위해 ng-init 지시문을 사용하여이를 달성 할 수 있다고 생각합니다. 그 목록을 사용하여 무엇이 보이는지 확인할 수 있습니다. 내게는 내가 놓친 더 나은 해결책이있는 것 같다.

누구나 우아한 해결책이 있습니까?

답변

6

가장 명확한 질문은 아니지만, 내가 보여주고 자하는 것만으로 항목을 쓰러 뜨리는 일종의 필터로 ng-repeat를 사용한다고 가정합니다. ng-repeat를 선언 할 때 인라인 범위 변수를 설정하고 그 값을 처리 할 수 ​​있습니다.

그래서 당신의 HTML은 다음과 같습니다 경우 :

<div ng-repeat="item in items | someFilter"></div> 

당신은 그것을 변경할 수 있습니다

<div ng-repeat="item in visibleItems = (items | someFilter)"></div> 

는 그런 다음 컨트롤러 내부 $scope.visibleItems을 사용할 수 있으며 그것은 단지 항목의 특정 부분 집합이 포함됩니다 귀하의 someFilter을 (를) 통과했습니다.