gpt4 book ai didi

html - Angular JS 缩放和性能

转载 作者:技术小花猫 更新时间:2023-10-29 11:37:17 24 4
gpt4 key购买 nike

我们正在为一家银行构建的 Angular 应用苦苦思索性能问题。

不幸的是,显示代码片段是违反契约(Contract)的。无论如何,我可以描述一些正在发生的主要问题,我希望可以推荐最佳实践。

应用结构:

  • 本质上是一个巨大的多表单页面。
  • 每个表单都有自己的部分,具有嵌套 Controller 和约 3 层深的部分。
  • 在一组 json 对象上重复执行相同的表单。
  • 每个表单都绑定(bind)到它重复的对象/模型。
  • 我们应该在页面上支持 1-200 个表单。

如果你看一下时间线。我们在 jQuery parse html 方法、jQuery recalculate stye 方法、GC Event(垃圾收集)上花费了大量时间。我想尽量减少这些应该会加快速度。它们都是 Angular 生命周期的一部分,但可能有更好的方法来避免它们。以下是探查器的一些屏幕截图:

Recalculate Style GC Event

最终,随着重复表单的数量超过 5 个,应用程序运行缓慢。每个表单与其他表单相对无关。我们已尝试不监视表单之间的任何共享属性。

最佳答案

您需要创建自定义指令以遏制 Angular 的性能问题。与 ember Angular 不同的是,所有的花里胡哨都打开了,你可以把它调低。以下是我创建的一些指令来帮助您解决问题。并非应用程序中的所有数据都需要双向数据绑定(bind),因此您可以通过在需要的页面中放弃监视表达式来节省宝贵的 CPU 资源。所有这些指令都一次性绑定(bind)数据,然后不理会它。

https://gist.github.com/btm1/6802599

https://gist.github.com/btm1/6802312

https://gist.github.com/btm1/6746150

上面的答案之一谈到了 ng-repeat 对性能的巨大影响,所以我给你“set-repeat”一个一次性数据绑定(bind)重复指令:)

关于html - Angular JS 缩放和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17656397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com