Angular.js过滤器仅显示20个元素

时间:2017-10-09 11:16:23

标签: javascript jquery angularjs angularjs-filter

我是angularjs的新手。在这里,我使用的是过滤器,我有一个元素列表。我有一个searchBox。所以,这里

<li class="list-group-item" ng-repeat="suggestion in suggestionList | filter:suggestionListSearchText | limitTo: -20 track by $index"

在这里,我没有添加结尾li tag。现在,当我打开列表时,它显示最后一个20 elements是正确的。但是当我搜索列表项上搜索的位置时,如果我搜索元素n,那么它只给出了20个元素,其中包含单词n而不是所有元素。那么,任何人都可以告诉我这背后的原因吗?

1 个答案:

答案 0 :(得分:0)

首先,您可以使用limitTo

ng-init值分配给变量
<li ng-init="limit = 20" class="list-group-item" ng-repeat="suggestion in suggestionList | filter:suggestionListSearchText | limitTo: limit track by $index">

在搜索输入中,使用ng-change和三元操作来分配limit变量。

<input  ng-model="suggestionListSearchText" ng-change="limit = ( suggestionListSearchText ? '' : 20 )" />