angularJS 修改对象B与传值对象A指向同一个内存区 怎么让他们不再绑定?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_30907803/article/details/76044496
方法一:
$scope.eShowUpdateRole = function(role){
    $scope.changeOrAddRole = {};//添加角色 、修改角色 的对象
    $scope.changeOrAddRole = JSON.parse(JSON.stringify(role));
}
 
 
//这里的作用就是把传值对象A role转换成字符串 
JSON.stringify(role)
,那么就会创建字符串内存区存放,再转换成对象
JSON.parse()相当于新创建一个对象内存区存放 生成的
 $scope.changeOrAddRole对象B 和 传值对象A role就不是同一个内存区 ,不再关联

方法二:
对象的字段一个一个赋值 这样就会把区别内存地址的字段$$hashKey:"object:96"去掉
$scope.changeOrAddRole.name = role.name;
$scope.changeOrAddRole.id = role.id;

猜你喜欢

转载自blog.csdn.net/baidu_30907803/article/details/76044496