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 相关文章推荐
Tab页界面,用jQuery及Ajax技术实现
Sep 21 Javascript
google 搜索框添加关键字实现代码
Apr 24 Javascript
屏蔽F1~F12的快捷键的js函数
May 06 Javascript
js查找某元素中的所有图片地址的方法
Jan 16 Javascript
吐槽一下我所了解的Node.js
Oct 08 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
Dec 14 Javascript
关于AngularJs数据的本地存储详解
Jan 20 Javascript
JavaScript基础之this详解
Jun 04 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
jQuery实现轮播图及其原理详解
Apr 12 jQuery
javascript实现拖拽碰撞检测
Mar 12 Javascript
测量JavaScript函数的性能各种方式对比
Apr 27 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
德生1994机评
2021/03/02 无线电
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
php实现异步数据调用的方法
2015/12/24 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
跟老齐学Python之list和str比较
2014/09/20 Python
python单元测试unittest实例详解
2015/05/11 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
python实现公司年会抽奖程序
2019/01/22 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
pygame实现成语填空游戏
2019/10/29 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
会计专业应届生求职信
2013/11/24 职场文书
毕业生求职的求职信
2013/12/05 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
扬州个园导游词
2015/02/06 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
一个都不能少观后感
2015/06/04 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android