2015-10-20 54 views
1
var democart= angular.copy($rootScope.cart); 
var cartCopy = democart; 

在我的代码中的某处,我正在更新$rootScope.cart的值。angular.copy反映分配变量的变化

这导致cartCopy的价值变化,我相信不应该如此。

如何避免$rootScope.cart中的变化反映在cartCopy

注意:$rootScope.cart是一个对象数组。

+0

我觉得你的范围表达式计算rootscope变量验证 – Arun

+0

后你能否详细说明一下? –

回答

1

那是不可能的,我只是做了一个快速测试,它没有发生:

$rootScope.cart = {}; 
var democart= angular.copy($rootScope.cart); 
var cartCopy = democart; 

$rootScope.cart.test = 4; 

console.log('$rootScope.cart', $rootScope.cart); // { test: 4 } 
console.log('cartCopy', cartCopy); // {} 
console.log('democart', democart); // {} 

这里有一个的jsfiddle显示此:http://jsfiddle.net/z7g9cz1o/

+0

我已检查并重新检查。它正在改变我在cartCopy中的价值 –

+1

您将不得不张贴更多的代码。 –