【发布时间】:2014-08-19 16:04:39
【问题描述】:
在<select> 中显示许多项目时,AngularJS 的性能出现问题。我创建了一个可以看到问题的小提琴:
选择一个项目需要几秒钟。
有趣的是,该问题仅在第一次选择项目时出现。之后,选择一个项目很快。
为什么?是什么导致了这种缓慢?有解决办法吗?
【问题讨论】:
-
@Blackhole:谢谢,你是对的。现在应该是正确的。
-
这很慢,因为 $scope 正在监视您创建的所有 25,000 个选项,以查看其中是否有任何更改。我相信有一种方法可以停止观看它们,但我不确定如何。查找 $digest 和 $watch。这是一个现实的场景 - 您将在下拉菜单中有 25k 个选项吗?如果是这样,愿上帝怜悯你的灵魂。 :)
-
不,现在 25k 是不现实的,但 2.5k 是我的应用程序中的项目数。我在小提琴中添加了 25k,只是为了说明一点,以便清晰可见。对我来说 2.5k 会导致明显的延迟,这很烦人。
标签: javascript performance angularjs profiling angularjs-ng-options