gpt4 book ai didi

javascript - 如何在使用相同数据的多个变量中限制一个变量的数据变化?

转载 作者:行者123 更新时间:2023-11-29 21:21:34 24 4
gpt4 key购买 nike

我在 Angular JS 中遇到对象属性更改的问题。

例如我有一个对象数组。

$scope.ex1 = [{"name":"Ethel Price","gender":"female","company":"Enersol"},
{"name":"Claudine Neal","gender":"female","company":"Sealoud"},
{"name":"Beryl Rice","gender":"female","company":"Velity"},
{"name":"Wilder Gonzales","gender":"male","company":"Geekko"},
{"name":"Georgina Schultz","gender":"female","company":"Suretech"},
{"name":"Carroll Buchanan","gender":"male","company":"Ecosys"},
{"name":"Valarie Atkinson","gender":"female","company":"Hopeli"},
{"name":"Schroeder Mathews","gender":"male","company":"Polarium"},
{"name":"Lynda Mendoza","gender":"female","company":"Dogspa"},
{"name":"Sarah Massey","gender":"female","company":"Bisba"}]

我有一个表格,我使用 angular-datatable 以列表格式显示数据。

当用户点击列表项时,我将该特定对象存储在一个数组中。

例如,用户从上面的列表中选择了两个项目,我将这两个对象保存在其他变量中,如下所示:

$scope.selected = [{"name":"Lynda Mendoza","gender":"female","company":"Dogspa"},
{"name":"Sarah Massey","gender":"female","company":"Bisba"}];

问题是当我更改 $scope.selected 中的某些属性时,更改会自动反射(reflect)在 $scope.ex1 对象中。

如下所示:

$scope.selected[0].name = "Rakesh rekala"

上述更改将反射(reflect)在该特定项目的 $scope.ex1 数组中。

如何限制这种情况,有什么办法可以解决。

最佳答案

Javascript 对象是可变的,使用 angular.copy将源对象数组深度复制到一个变量,然后使用该变量将对象插入所选数组

关于javascript - 如何在使用相同数据的多个变量中限制一个变量的数据变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38390561/

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