Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择的AngularJS性能_Javascript_Performance_Angularjs_Profiling_Angularjs Ng Options - Fatal编程技术网

Javascript 选择的AngularJS性能

Javascript 选择的AngularJS性能,javascript,performance,angularjs,profiling,angularjs-ng-options,Javascript,Performance,Angularjs,Profiling,Angularjs Ng Options,在中显示许多项时,我对AngularJS的性能有问题。我创造了一个可以看到问题的小提琴: 选择一个项目需要几秒钟 有趣的是,这个问题只有在第一次选择一个项目时才会出现。之后,选择一个项目是快速的 为什么??是什么导致了这种缓慢?有解决方法吗?我认为这其中的“为什么”和“什么”是由于Angular通过脏检查渲染内容的方法造成的。下面是一个更深入的答案:。另外,Angular文档中有一些关于范围渲染的有用信息,可能会为您提供更多信息 @Blackhole:谢谢,你说得对。现在应该是正确的。速度很慢

中显示许多项时,我对AngularJS的性能有问题。我创造了一个可以看到问题的小提琴:

选择一个项目需要几秒钟

有趣的是,这个问题只有在第一次选择一个项目时才会出现。之后,选择一个项目是快速的


为什么??是什么导致了这种缓慢?有解决方法吗?

我认为这其中的“为什么”和“什么”是由于Angular通过脏检查渲染内容的方法造成的。下面是一个更深入的答案:。另外,Angular文档中有一些关于范围渲染的有用信息,可能会为您提供更多信息

@Blackhole:谢谢,你说得对。现在应该是正确的。速度很慢,因为$scope正在监视您创建的所有25000个选项,以查看其中是否有更改。我相信有一种方法可以停止看他们,但我不知道该怎么做。查找$digest和$watch。这是一个现实的场景吗?您将在下拉列表中拥有25k个选项?如果是这样,愿上帝怜悯你的灵魂不,25k现在不现实,但2.5k是我在应用程序中的项目数。我在提琴上加了25k,只是为了强调一点,以便它清晰可见。对我来说,2.5k会引起明显的滞后,这是非常恼人的。