【发布时间】:2016-02-06 12:33:07
【问题描述】:
我们有一个巨大的企业 Angular 应用程序,我们遇到了性能问题,有时它会杀死浏览器(内存不足)。我们使用浏览器开发者分析器 (DevTools) 调试应用程序,而 $apply() 函数需要花费大量时间。
我做了一些研究,看起来$apply() 每次 Angular 运行摘要循环时都会被触发。
我注意到控制器中有大量$watch()。该架构完全基于$watch()(它是一种订阅/观察模式)。因此,除了$watch(),我们别无选择。我不允许发布此应用程序的任何代码。
那么,我的问题是,有没有比 watch 数据结构更高效的替代方案,从而可以提高应用程序的性能?
【问题讨论】:
-
你说得对,
$watch和摘要周期在 Angular 中非常昂贵。有很多方法可以使该逻辑更高效,但这实际上取决于您的特定架构和逻辑。这个问题很宽泛,尽量具体一点。
标签: angularjs performance angularjs-scope watch