我无法通过循环为角度范围变量赋值新值

时间:2014-05-28 02:45:19

标签: javascript angularjs

我真的不明白为什么在迭代时,为什么angular不能为范围变量上的数组进行简单的动态赋值,我使用angular.js 1.1.5跟随脚本:

function assign(item){
  item.var2 = 10;
  item.var1 = 20;
}

for (var i=0; i < $scope.container.items.length; i++) {
    $scope.container.items[i].var1 = 10;
}

for (var i=0; i < $scope.container.items.length; i++) {

    assign($scope.container.items[i]);

    console.log($scope.container.items[i].var2); // 10
    console.log($scope.container.items[i].var1); // 20
}

console.log($scope.container.items); 
//  [{'var2': 10, 'var1': 10},
//  {'var2': 10, 'var1': 10},
//  ...
// {'var2': 10, 'var1': 10}]

说实话,Angularjs对这个话题并不清楚,我希望尽快解决。我已尝试使用$ apply(将调用包装到函数assign),但它似乎也不起作用。知道发生了什么事吗?

0 个答案:

没有答案