gpt4 book ai didi

javascript - 复制 Angular 响应数据,以便对一个数据的更改不会影响另一个数据

转载 作者:行者123 更新时间:2023-12-02 15:57:47 25 4
gpt4 key购买 nike

我有一个连接到 Node/express 服务器的 Angular Controller 。请求的响应数据在 $http.get 中调用,我可以在其中设置 response=$scope.x。然后可以与 x 进行交互并进行更改。然后我可以设置 $scope.y = $scope.x,并且对 y 的任何更改也会导致 x 发生变化。但是,我基本上想克隆响应,以便将原始响应数据设置为不同的变量,而不会使它们互相改变。

考虑一个响应,其中 response.name = "Joe"

$scope.x = response;
$scope.y = response;

在我的代码或 View /模型中,我可以更改x.name,如下所示:

$scope.x.name = "Bob"

但是,我希望 $scope.y.name 仍然等于 "Joe"

我可以使用两个单独的 get 请求来检索相同的响应,但我想将响应传递到一个函数中,该函数将动态更改该数据并基于 for循环。有没有一个干净的、“Angular ”来做到这一点?或者一个简单的 JavaScript 函数?

最佳答案

Angular 有一个内置的实用程序用于此 angular.copy()

$scope.x = response;
$scope.y = angular.copy(response);

还可以用于清除 Angular 可能创建的不需要的属性,例如 ng-repeat 跟踪中使用的哈希键

angular.copy() docs

关于javascript - 复制 Angular 响应数据,以便对一个数据的更改不会影响另一个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31464525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com