Angularjs 连续多次修改范围变量是否被认为是一种不好的做法?
例如,我们有这样一个代码:Angularjs 连续多次修改范围变量是否被认为是一种不好的做法?,angularjs,Angularjs,例如,我们有这样一个代码: function(result) { $scope.data = result.data; $scope.data[0] = someData; $scope.data.forEach(...some more changes...) } 修改scope变量会比修改temp公共变量慢吗,如下面的代码所示 function(result) { var data = result.data; data[0] = someData; data.forEach(
function(result) {
$scope.data = result.data;
$scope.data[0] = someData;
$scope.data.forEach(...some more changes...)
}
修改scope变量会比修改temp公共变量慢吗,如下面的代码所示
function(result) {
var data = result.data;
data[0] = someData;
data.forEach(...some more changes...)
$scope.data = data;
}
如果您担心触发虚假的临时状态更改,那么这种情况是不会发生的。状态更改仅在事件循环的“刻度”之间应用。所以第一个例子很好 就风格而言,如果我多次引用某个嵌套对象,我可能会使用局部变量
也不是说最后的
$scope.data=data
是多余的,因为您没有将数据
分配给任何新的对象:它仍然指向与开始时相同的对象,它仍然附加到作用域,并且对其状态的任何修改也将在作用域中可见。如果您担心触发虚假的临时状态更改,则不会发生这种情况。状态更改仅在事件循环的“刻度”之间应用。所以第一个例子很好
就风格而言,如果我多次引用某个嵌套对象,我可能会使用局部变量
也不是说最后的
$scope.data=data
是多余的,因为您没有将数据
分配给任何新的对象:它仍然指向与开始时相同的对象,一个仍然附加到作用域,对其状态的任何修改也将在作用域中可见。仅相同,但$scope
angularjs观察,因此观察次数计数(例如5次)增加,同时更改如下值$scope.data[0]=someData
仅相同,但$scope
angularjs观察次数(例如5次)增加,同时更改如下值$scope.data[0]=someData
从技术上讲,当您对同一对象进行操作时,这是相同的事情(除了创建局部变量的浪费,在任何情况下都是无关紧要的)。从技术上讲,这是相同的事情(除了创建局部变量的浪费,在任何情况下都是无关紧要的),当您在同一对象上操作时。可能的重复您确定手表将由分配本身触发吗?这不会被推迟到方法返回(这样五个赋值仍然只会触发一个更新)吗?我说的示例计算了五次。$scope.data[0]=someData;他正在分配新数据,因此手表将正确触发。您确定手表将通过分配本身触发吗?这不会被推迟到方法返回(这样五个赋值仍然只会触发一个更新)吗?我说的示例计算了五次。$scope.data[0]=someData;他正在分配新数据,以便手表能正确触发。