我有$ scope.attributesList = [{name:“”,val:“”} ....]
在某些情况下,我需要复制我的列表并从我的目标参数解除绑定。
var param = $ scope.attributesList;
问题是每次$ scope.attributesList改变了我的参数也改变了,我复制了我的$ scope.attributesList后我需要我的参数是静态的而不是改变的。取消绑定的方法是什么?
谢谢,
答案 0 :(得分:1)
您需要对象的深层副本才能使用angular.copy()
var param = angular.copy($scope.attributesList);
如果我们使用var param = $scope.attributesList;
,那么param
和$scope.attributesList
都指向同一个对象,因为$scope.attributesList
是引用类型
如果我们使用像1,2
这样的原始类型,
$scope.attributesList = 1;
var param = $scope.attributesList;
然后param
和$scope.attributesList
是独立的。