2012-10-22 35 views

回答

14

似乎也许你想复制的对象,所以你不编辑相同的参考?只需使用angular.copy即可。 Docs here.

$scope.items = [{value: 1},{value: 2},{value: 3}]; 
$scope.itemEdit1 = angular.copy($scope.items); 
$scope.itemEdit2 = angular.copy($scope.items); 

http://jsfiddle.net/blesh/htTQc/1/

+0

不知道angularjs分配上产生浅拷贝。这是一个功能还是因为角度处理封闭物体的方式? – rcell

+0

这与Angular没有多大关系;这是因为'$ scope.items','$ scope.itemEdit1'和'$ scope.itemEdit2'对同一个数组都是相同的引用。你创建一个数组,然后你创建两个引用相同事物的变量。 '$ scope.itemEdit1 === $ scope.itemEdit2'将在您的OP代码中返回'true'。 –

相关问题