我需要用 ng-repeat 显示一个有限的列表,应用一个条件,但我无法得到它。
我正在开发一个包含多个类别和子类别的过滤器。
对于每个类别,我需要显示最少有 1 个结果的前 5 个类别。
为此,我创建了一个 count() 函数,当用户单击任何子类别复选框时调用该函数,该函数会刷新值。
ng-repeat 的代码是:
<div class="checkbox checkbox-right" ng-repeat="(id, nombre) in subcategoria" ng-if="(filteredproductosMenos<?= ucfirst ( $categoria['abrev'] ) ?> | filter:search:strict | filter:count('<?= $categoria['campo'] ?>',id)).length">
<input type="checkbox" ng-model="use<?= ucfirst ( $categoria['abrev'] ) ?>[id]" checked="" id="list-filters-sidebar-form-<?=$i?>-{{j}}" name="list-filters-<?=$i?>-{{j}}">
<label for="list-filters-sidebar-form-<?=$i?>-{{j}}">{{nombre}} ({{ (filteredproductosMenos<?= ucfirst ( $categoria['abrev'] ) ?> | filter:search:strict | filter:count('<?= $categoria['campo'] ?>',id)).length }})</label>
</div>
这段代码显示了最少有 1 个结果的子类别,但如果我将“limitTo:5”添加到 ng-repeat,则只显示前 2 个子类别,因为前 3 个子类别没有结果。