$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';
我有 $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';