由于所有手表都在每个$ digest上进行评估,因此保持低数量是一个很好的性能。要重新解释问题标题,在控制器内声明$ scope的变量或方法是否存在性能损失,当相关模板没有引用这些变量或方法时(如果存在惩罚,则可以将其声明为控制器上的局部变量)而不是对象)。
答案 0 :(得分:0)
当您在$scope
上放置内容时,可以观看它。您可以$watch
范围内的任何内容都完美无缺,即使它不在模板上也是如此。
是否存在性能损失? AngularJS通常在您观察对象时比较引用,并且仅比较watched objects,而不是范围内的所有内容。因此,除非你正在观察一个非常大的物体或阵列上进行deep compare,否则不应该花费明显的时间。
为了测试效果并查看您的更改是否会减慢任何速度,您可以使用AngularJS Batarang。