角度ng-repeat +滤波器在iphone 4s上运行速度非常慢

时间:2014-11-12 22:52:21

标签: javascript angularjs

我现在尝试在iPhone4s上使用重复+过滤器在1000个项目阵列上实现levenshtein过滤器。

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

任何人都有任何提示让这个过滤器运行得更快?我一直在寻找一段时间,虽然跟踪将是解决方案,但说实话,在运行它时没有看到任何重大差异。

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

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>

由于

2 个答案:

答案 0 :(得分:0)

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

2:你总是可以通过在控制器中使用过滤器来限制ng-repeat(将其减少到前100项)并添加按钮“添加100”或通过观看滚动位置加载更多(我认为你不需要显示全部元素一次)。

确保ng-reapeat非常重,您应该立即减少替换物品的数量。

答案 1 :(得分:0)

我已经成功实现了我自己的去抖动(因为它的角度为1.2,去抖动只有1.3+),并且通过一些其他优化你可以检查plnkr。