AngularJS API之copy深拷贝详解及实例


Posted in Javascript onSeptember 14, 2016

angular提供了一个可以复制对象的api——copy(source,destination),它会对source对象执行深拷贝。

使用时需要注意下面几点:

  1. 如果只有一个参数(没有指定拷贝的对象),则返回一个拷贝对象
  2. 如果指定了destination,则会深拷贝对象复制给destination
  3. 如果source是null或者undefined,那么会直接返回source
  4. 如果source就是desitination,那么会报错。

下面看看使用样例:

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
</head>
<body ng-app="copyExample">
  <div ng-controller="ExampleController">
    <form novalidate class="simple-form">
      Name: <input type="text" ng-model="user.name" /><br />
      E-mail: <input type="email" ng-model="user.email" /><br />
      Gender: 
      <input type="radio" ng-model="user.gender" value="male" />
      male
      <input type="radio" ng-model="user.gender" value="female" />
      female
      <br />
      <button ng-click="reset()">RESET</button>
      <button ng-click="update(user)">SAVE</button>
    </form>
    <pre>form = {{user | json}}</pre>
    <pre>master = {{master | json}}</pre>
  </div>

  <script>
  angular.module('copyExample', [])
  .controller('ExampleController', ['$scope', function($scope) {
    $scope.master= {};
    
    var test1;
    console.log(angular.copy(test1));//undefined
    var test3=null;
    console.log(angular.copy(test2));//undefined

    var test2 = "a";
    // console.log(angular.copy(test2,test2));//error!!

    $scope.update = function(user) {
      // Example with 1 argument
      $scope.master= angular.copy(user);
    };

    $scope.reset = function() {
      // Example with 2 arguments
      angular.copy($scope.master, $scope.user);
      console.log($scope.master);
      console.log($scope.user);
    };

    $scope.reset();
  }]);
  </script>
</body>
</html>

AngularJS API之copy深拷贝详解及实例

以上就是对AngularJS API之copy深拷贝的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

Javascript 相关文章推荐
用javascript实现的激活输入框后隐藏初始内容
Jun 29 Javascript
JavaScript 浏览器验证代码(来自discuz)
Jul 17 Javascript
jquery对象和DOM对象的区别介绍
Aug 09 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
Dec 12 Javascript
JavaScript实现输入框(密码框)出现提示语
Jan 12 Javascript
js获取Html元素的实际宽度高度的方法
May 19 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
May 24 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
Mar 09 Javascript
在React 组件中使用Echarts的示例代码
Nov 08 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
Mar 28 Javascript
javascript前端和后台进行数据交互方法示例
Aug 07 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 Javascript
AngularJS $injector 依赖注入详解
Sep 14 #Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 #Javascript
详解XMLHttpRequest(一)同步请求和异步请求
Sep 14 #Javascript
AngularJs ng-route路由详解及实例代码
Sep 14 #Javascript
js实现文字截断功能
Sep 14 #Javascript
jQuery版AJAX简易封装代码
Sep 14 #Javascript
原生JS实现首页进度加载动画
Sep 14 #Javascript
You might like
PHP中for循环语句的几种变型
2006/11/26 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
JS模拟多线程
2007/02/07 Javascript
javascript知识点收藏
2007/02/22 Javascript
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
python Django模板的使用方法
2016/01/14 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
使用索引有什么好处
2016/07/27 面试题
市场营销调查计划书
2014/05/02 职场文书
电影地道战观后感
2015/06/04 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
swagger如何返回map字段注释
2021/07/03 Java/Android
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android