我正面临着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
的变化改变一些特性在$scope.ex1
对象自动反映。 就像下面一样。
$scope.selected[0].name = "Rakesh rekala"
上述更改将反映在$scope.ex1
数组中,该特定项目。
如何限制这种情况有什么办法来解决这个问题。
有任何方法,使JavaScript对象不可变的,如使用不可变JS或角的任何其他合适的选择。 –