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

$scope object get updated too when updating local var variable

我有 $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 也会更新?

我做错了什么?我该如何解决这个问题?

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

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

 new_data_object.name = 'blablabla';