angularjs $观察$ scope上的每个属性或仅查看模板中引用的属性吗?

时间:2014-01-18 19:02:50

标签: angularjs angularjs-scope

由于所有手表都在每个$ digest上进行评估,因此保持低数量是一个很好的性能。要重新解释问题标题,在控制器内声明$ scope的变量或方法是否存在性能损失,当相关模板没有引用这些变量或方法时(如果存在惩罚,则可以将其声明为控制器上的局部变量)而不是对象)。

1 个答案:

答案 0 :(得分:0)

当您在$scope上放置内容时,可以观看它。您可以$watch范围内的任何内容都完美无缺,即使它不在模板上也是如此。

是否存在性能损失? AngularJS通常在您观察对象时比较引用,并且仅比较watched objects,而不是范围内的所有内容。因此,除非你正在观察一个非常大的物体或阵列上进行deep compare,否则不应该花费明显的时间。

为了测试效果并查看您的更改是否会减慢任何速度,您可以使用AngularJS Batarang