Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何加速AngularJS应用程序?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个AngularJS应用程序与分页网格(两个嵌套ng重复)。一页大约有25×40个输入元素。在开始1000个绑定,寻呼性能是可以接受的。

但随后页面的复杂性增长:动态类,变化的上下文menue,条件内容为网格的每个单元格。并且估计有6000个绑定(每个输入元素6个),寻呼不可用慢。

我的问题是:我如何通常处理AngularJS中的性能问题?
明显的第一步是测量。但是,Chrome Profiler的结果不会告诉我这么多,远不知道如何继续。

Self      @R_719_10586@l                           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’,这显然是一个不同的主题)?

你可以做的事情,将加速你的Angular应用程序最多是减少这些绑定在哪里你可以。执行此操作的一种方法是创建一个使用DOM操作构建表的指令,而不是使用Ng-repeats。这将减少您必须处理的整体手表的数量,并使得$ digest更快。

我知道这是丑陋的,但Angular不是真的要设置3000绑定。因为它做了一个摘要,它不是一个观察者模式,它真的减慢了很多设置的事情。

你甚至可以做一个混合方法,你仍然使用Ng-repeat,但是所有的值都放在DOM中,直接从一个自定义指令DOM操作,从而避免了所有的绑定。

大佬总结

以上是大佬教程为你收集整理的如何加速AngularJS应用程序?全部内容,希望文章能够帮你解决如何加速AngularJS应用程序?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。