我有一个全局变量,单击时我将为全局变量分配一个JSON。但是,即使我没有单击,全局变量也会更新。
$scope.save = function() { // method called on click
DataBasket.users = $scope.usersPermissions; // Actually DataBasket is a factory, updating global variable
}
我还在其他单击中操纵$scope.usersPermissions
的值。但我不希望它被更新为全局变量。
我该如何解决这个问题?
我认为您希望DataBasket.users
是$scope.usersPermissions
的副本。尝试这样做:
$scope.save = function() {
DataBasket.users = angular.copy($scope.usersPermissions);
}
否则,DataBasket.users
将引用与$scope.usersPermissions
相同的对象,当您更改其中一个时,另一个也将更改,因为实际上它们将是同一个对象。