【发布时间】:2014-05-21 04:14:38
【问题描述】:
我遇到了 ng-repeat 指令的性能问题,我使用 ng-repeat 指令渲染了 PDF formFields,不知何故它停止了我的浏览器。但是当我在同一个 ng-repeat 中同时使用 track by $index 和 limitTo:1 时,它工作正常并且提高了渲染速度。我无法理解这背后的逻辑,但它的运行速度非常快:)
-
这对我来说工作得更快更好,limitTo:1 也不起作用,它是如何将限制与 $index 绑定并修复浏览器暂停问题。
<div ng-repeat="friend in friends track by $index | limitTo:1"> {{ friend.id }} — {{ friend.name }} </div> -
如果我们在通过 $index 跟踪之前使用 limitTo ,那么它的行为通常是 angular js 的限制行为,这是可以理解的
<div ng-repeat="friend in friends | limitTo:1 track by $index"> {{ friend.id }} — {{ friend.name }} </div>
或
<div ng-repeat="friend in friends | limitTo:1">
{{ friend.id }} — {{ friend.name }}
</div>
虽然我实现了我的性能目标,但我想知道这背后的逻辑。 这是jsfiddle的链接 http://jsfiddle.net/neglingeyes/G6q84/
【问题讨论】:
-
那么问题是什么?
-
他“无法理解这背后的逻辑”所以也许他想要解释发生了什么......?也许他想卖砖,不确定-.-'
-
我的问题是,我无法理解 limitTo 和 track by $index 如何协同工作以及如何提高速度。
-
你试过用括号吗?
-
没错! .
标签: angularjs angularjs-ng-repeat