例如,我们有这样的代码:
function(result) {
$scope.data = result.data;
$scope.data[0] = someData;
$scope.data.forEach(...some more changes...)
}
修改范围变量会比修改临时公共变量慢吗,如下面的代码所示?
function(result) {
var data = result.data;
data[0] = someData;
data.forEach(...some more changes...)
$scope.data = data;
}
答案 0 :(得分:1)
如果您担心触发虚假的临时状态变化,那就不会发生。状态更改仅应用于事件循环的“滴答”之间。所以第一个例子很好。
样式方面,如果我不止一次引用某个嵌套对象,我可能会使用局部变量。
也不是最终的$scope.data = data
是多余的,因为你没有将data
分配给任何新的东西:它仍然指向它在开头的同一个对象,它仍然附着在范围及其状态的任何修改也将在范围内显示。
答案 1 :(得分:1)
仅相同但$scope
通过angularjs观看,因此在更改值$scope.data[0] = someData;
时,手表次数(前5次)会增加。