我有一个AngularJS应用程序与分页网格(两个嵌套ng重复)。一页大约有25×40个输入元素。在开始1000个绑定,寻呼性能是可以接受的。
但随后页面的复杂性增长:动态类,变化的上下文menue,条件内容为网格的每个单元格。并且估计有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
Aside:有没有任何机会,“Object.observe()”会加快事情在未来(忽略’initDateWidget’,这显然是一个不同的主题)?