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 相关文章推荐
JS学习之一个简易的日历控件
Mar 24 Javascript
SyntaxHighlighter语法高亮插件使用说明
Aug 14 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
Aug 01 Javascript
JavaScript中的原型链prototype介绍
Dec 30 Javascript
director.js实现前端路由使用实例
Feb 03 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
js实现图片轮播效果
Dec 19 Javascript
简单实现jquery焦点图
Dec 12 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
layui 数据表格复选框实现单选功能的例子
Sep 19 Javascript
layer弹出层取消遮罩的方法
Sep 25 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制作简单的内容采集器的代码
2007/11/28 PHP
php 高效率写法 推荐
2010/02/21 PHP
php的大小写敏感问题整理
2011/12/29 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
用Python编写web API的教程
2015/04/30 Python
Python开发的HTTP库requests详解
2017/08/29 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Django  ORM 练习题及答案
2019/07/19 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
计算机应用毕业生自荐信
2013/10/23 职场文书
培训演讲稿范文
2014/01/12 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
停发工资证明范本
2015/06/12 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书