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 26 Javascript
一些易混淆且不常用的属性,希望有用
Jan 29 Javascript
js replace替换所有匹配的字符串
Feb 13 Javascript
JS实现为表格动态添加标题的方法
Mar 31 Javascript
Jquery实现遮罩层的方法
Jun 08 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
JavaScript对HTML DOM使用EventListener进行操作
Oct 21 Javascript
实现React单页应用的方法详解
Aug 02 Javascript
vue项目中应用ueditor自定义上传按钮功能
Apr 27 Javascript
vue实现路由懒加载的3种方法示例
Sep 01 Javascript
使用jQuery实现购物车
Oct 29 jQuery
VUE实现吸底按钮
Mar 04 Vue.js
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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
js实现登录与注册界面
2017/11/01 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
Python 深入理解yield
2008/09/06 Python
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python实现视频下载功能
2017/03/14 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
python中selenium库的基本使用详解
2020/07/31 Python
python爬虫 requests-html的使用
2020/11/30 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
师范生的个人求职信范文
2014/01/04 职场文书
金融行业职业生涯规划范文
2014/01/17 职场文书
《口技》教学反思
2014/02/21 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
诚信教育主题班会
2015/08/13 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android