【发布时间】:2017-10-20 19:32:32
【问题描述】:
我有一个带有分页网格的 AngularJS 应用程序(两个嵌套的 ng-repeat)。一页大约有 25x40 个输入元素。刚开始绑定1000次,分页性能尚可。
但是页面的复杂性随之增加:动态类、不同的上下文菜单、网格中每个单元格的条件内容。并且估计有 6000 个绑定(每个输入元素 6 个),分页变得无法使用缓慢。
我的问题是:我通常如何处理 AngularJS 中的性能问题? 显而易见的第一步是测量。但是 Chrome Profiler 的结果并没有告诉我太多,远不知道如何进行。
Self Total Function
-----------------------------------------------------------------
24 ms 2.79 s angular.js:7997 Scope.$digest
1 ms 1 ms controllers.js:365 setViewportData
16 ms 692 ms angular.js:13968 ngRepeatWatch
8 ms 22 ms angular.js:6439 extend.literal
9 ms 1.22 s angular.js:14268 ngSwitchWatchAction
16 ms 45 ms angular.js:12436 ngModelWatch
0 621 ms angular-ui-4.0.js:264 initDateWidget
0 13 ms angular.js:12859 ngClassWatchAction
0 70 ms angular.js:14184 ngStyleWatchAction
1 ms 5 ms angular-ui-4.0.js:261 getOptions
0 16 ms angular.js:579 copy
0 1 ms angular.js:4558 interpolateFnWatchAction
1 ms 2 ms angular.js:5981 token.fn.extend.assign
0 37 ms angular.js:8151 Scope.$eval
1 ms 1 ms angular.js:6137 extend.constant
14 ms 16 ms angular.js:651 equals
1 ms 1 ms angular.js:4939 $interpolate.fn
除此之外:'Object.observe()' 是否有可能在未来加快速度(忽略 'initDateWidget',这显然是另一个话题)?
【问题讨论】:
-
我在这里研究这个问题是为了帮助人们加速 NG2 应用程序,它应该能够为您提供一些见解:stackoverflow.com/questions/42583421/…
-
你是如何衡量这个的?
标签: angularjs performance