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 相关文章推荐
一个可拖拽列宽表格实例演示
Nov 26 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
Dec 16 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
Apr 18 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
jquery实现下拉框左右选择功能
Feb 21 Javascript
vue引用js文件的多种方式(推荐)
May 17 Javascript
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
vue+iview 兼容IE11浏览器的实现方法
Jan 07 Javascript
4 种滚动吸顶实现方式的比较
Apr 09 Javascript
vue百度地图 + 定位的详解
May 13 Javascript
js实现随机点名
Jan 19 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下通过伪造http头破解防盗链的代码
2010/07/03 PHP
php查看网页源代码的方法
2015/03/13 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
农历与西历对照
2006/09/06 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
解决Python中回文数和质数的问题
2019/11/24 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
您的网上新华书店:文轩网
2016/08/24 全球购物
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
电子狗项圈:eDog Australia
2019/12/04 全球购物
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
致铅球运动员加油稿
2014/02/13 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL