AngularJS脏检查性能

时间:2014-07-25 18:06:49

标签: angularjs angularjs-scope

在角度范围内,我有一个巨大的对象scope.a,不知怎的,我有另一个scope.b引用它。

我知道angularJS使用脏检查,所以我们应该减少范围内的东西。我的问题是,因为a和b基本上是相同的obj(参考)。如果我设法摆脱b,只保留一个参考,它会有明显的性能提升吗?

1 个答案:

答案 0 :(得分:1)

只是在范围内有一些内容对$ digest周期没有任何性能影响(参见与浏览器事件循环的集成https://docs.angularjs.org/guide/scope)。

脏检查($ digest循环)调用任何已注册的$watch函数(在代码中手动注册或在角度代码中注册),然后在$watch函数返回任何内容时调用侦听器函数与上次不同。

要回答您的问题,不要通过不向范围添加内容来提高性能。通过提高任何$watch函数的性能,可以最大限度地提高性能,因为每个$ digest周期总是至少调用一次。