更新本地var变量时,$ scope对象也会更新

时间:2015-02-03 08:22:19

标签: angularjs angularjs-scope

我有$ scope.stock_filters对象,我想分配给这样的新变量。

var new_data_object = $scope.stock_filters[$scope.key_filter];

现在我更新此对象的键,如

new_data_object.name = 'blablabla';

为什么 $ scope.stock_filters [$ scope.key_filter] .name 也会更新?

我做错了什么?我怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

您正在通过引用修改实例,这就是两个引用都受到影响的原因。如果您只想创建实例的副本,可以使用angular.copy:

 var new_data_object = angular.copy($scope.stock_filters[$scope.key_filter]);

 new_data_object.name = 'blablabla';