필터링되고 제한된 목록에 요소가 표시되지 않는 경우 경고를 표시하려고합니다. 이 목록은 정말 길기 때문에 나는 훌륭한 수행 솔루션을 찾고 있습니다.AngularJS 필터링 및 제한 목록 길이가 동일한 지 확인하는 방법
<div class="list_item" ng-repeat="item in $ctrl.list | filter: $ctrl.responsiveFilter | limitTo: 6 as results track by $index">
<label ng-click="$ctrl.handle_list_click()">
<input type="checkbox" ng-model="item.checked">
<div class="fake_label" >
{{item.name}}
</div>
</label>
</div>
<div class="list_item too_many"
ng-repeat-end
ng-if="results.length > 6">
<div class="fake_label">
{{results.length}} matches... Please, filter out.
</div>
</div>
그러나 결과는 여과도 제한 후 요소를 포함 : 여기
내가 지금부터 무엇을 것입니다. limitTo
바로 전에 as results
을 이동하면 중단됩니다.
내가 경고가 될 것이다 쇼를 감지하려는 조건 : 제한된 목록의 길이와 필터링 된 목록의 길이가 다른 경우 후 경고을 보여줍니다.
as results
대신 다른 것을 사용해도 괜찮습니다. 그 상태를 감지 할 수있는 방법이 있는지 궁금합니다.
편집 : 문제는 바로 지금은 results.length
이 한계를 적용한 후 요소의 양을 제공하는 반면 필자는 필터 바로 뒤, 한도 전의 금액을 제공합니다. 나는 limitTo
문장을 삭제하여이 작업을 수행하는 방법을 알고 있지만, 다음 목록에 너무 많은 결과가 ...
매우 간단하게 'results.length-limit> 0' 또는'ng-if = "results.length-limit"'라고 비교할 수 있습니다. 한계 코드 대신 범위 변수를 사용하십시오. – charlietfl
이 경우에는 변경 사항을 감시하고 필터 된 목록을 직접 구성하는 것이 좋을 것입니다. 그런 다음 반복하여 검사하고 상태 확인에 사용하십시오. - 예 : $ scopeCollection ('list', rf => filteredList = ...) –
'$ ctrl.list.length> results.length'와 비슷한 것입니까? –