【发布时间】:2014-11-28 09:41:58
【问题描述】:
我有一个 ng-repeat 有很多关键字 (> 100 000),这就是我使用 limitTo: 的原因,但我希望能够在 ALL 中搜索。
Search: <input ng-model="filter:queryKeywords" type="text" placeholder="Filter" autofocus>
<label ng-repeat="k in keywords | limitTo:totalDisplayed | orderBy | filter:queryKeywords">
{{k}}
</label>
<!-- Will load 100+ keywords -->
<button class="btn btn-primary" ng-click="seeMore()">See More</button>
问题是我的搜索只适用于我可以看到的项目。
我想搜索所有项目(即使是我无法显示的项目)。
谢谢!
【问题讨论】:
-
这是因为模板中的过滤器,所以它只适用于渲染的元素。您需要在数据级别进行过滤,然后您也可以从那里控制限制。角度 UI 网格可能会在这里完美运行,尽管它的内置过滤器非常好并且会影响所有数据。
-
感谢您的帮助。请你给我一个例子,不知道很好理解。
-
考虑到关键字的数量,也许您还应该考虑在后端进行搜索并仅返回您想要的
limitTo关键字,这样可以减少通过网络发送的数据并使前端进行处理数据也更少(当然,我假设你有一个可以修改的后端,对吧?)
标签: javascript angularjs angularjs-ng-repeat