Angular ng repeat+filter在iphone4s上运行速度慢得离谱

Angular ng-repeat + filter runs absurdly slow on iphone 4s

本文关键字:速度慢 运行 ng repeat+filter iphone4s Angular      更新时间:2023-09-26

我现在正在尝试在iPhone4s上使用repeat+filter在1000项数组上实现levenstein过滤器。

我尝试过使用bindonce,通过${}跟踪,直接过滤重复,但我在这里真的无法获得公平的结果。

有人知道让这个过滤器运行得更快的秘诀吗?我已经搜索了一段时间,虽然跟踪是解决方案,但老实说,在运行它时没有看到任何重大差异。

这是一个到目前为止的结果,它在js中使用了一个过滤器,但我尝试过使用标准的orderBy:levenstein,得到了相同的结果。

http://plnkr.co/edit/hbAy9ihR4GbAsoQ2EYXt?p=info

<input type="text" ng-model="searchFilter" ng-change="filter(searchFilter)">
<div class="item" ng-repeat="place in filtered track by place.name">
  {{place.name}}
</div>

感谢

1:检查页面上有多少手表

2:你可以通过在控制器中使用过滤器(将其减少到前100个项目)和添加按钮"添加100"来限制ng重复,或者通过观看滚动位置来加载更多(我认为你不需要一次显示所有元素)。

当然收割是非常重的,你应该一次减少不愉快的项目的数量。

我已经成功地实现了我自己的debounce(由于它是角度1.2,debounce只有1.3+可用),并通过一些其他优化,您可以检查plnkr。