大佬教程收集整理的这篇文章主要介绍了浅谈angular.copy() 深拷贝,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
因为项目中需要拷贝,查阅angularjs API文档,发现对angular.copy() 的解释:
复制一个对象或者一个数组(好吧,万物皆对象,数组也是一个对象)。
1> 如果省略了desTination,一个新的对象或数组将会被创建出来; 2> 如果提供了desTination,则source对象中的所有元素和属性都会被复制到desTination中; 3> 如果source不是对象或数组(例如是null或undefined),则返回source; 4> 如果source和desTination类型不一致,则会抛出异常。 注意:这个是单纯复制覆盖,不是类似继承。
使用方法:
参数:
参数类型 | 描述 |
---|---|
返回值:
返回复制或更新后的对象
<body ng-app="copyApp">
<div ng-controller="CopyController">
<form novalidate class="simple-form">
姓名:
年龄:
邮箱: @H_675_44@
性别: 男
<script>
angular.module('copyApp',[])
.controller('CopyController',['$scope',function($scopE) {
$scope.master = {};
$scope.update = function(user) {
$scope.master = angular.copy(user);
console.log($scope.master);
};
$scope.reset = function() {
angular.copy($scope.user,$scope.master);
console.log($scope.master);// Object { }
console.log($scope.user); //undefined
};
$scope.reset();
}]);
</script>