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 相关文章推荐
jquery validate.js表单验证的基本用法入门
May 13 Javascript
23个超流行的jQuery相册插件整理分享
Apr 25 Javascript
javascritp添加url参数将参数加入到url中
Sep 25 Javascript
node.js中的fs.fchownSync方法使用说明
Dec 16 Javascript
深入分析Cookie的安全性问题
Mar 01 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
Sep 26 Javascript
angularjs 表单密码验证自定义指令实现代码
Oct 27 Javascript
Angular的模块化(代码分享)
Dec 26 Javascript
基于DOM节点删除之empty和remove的区别(详解)
Sep 11 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 Javascript
vue-drawer-layout实现手势滑出菜单栏
Nov 19 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
无限级别菜单的实现
2006/10/09 PHP
php模板中出现空行解决方法
2011/03/08 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
python+selenium开发环境搭建图文教程
2017/08/11 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
python代码实现猜拳小游戏
2020/11/30 Python
python 操作excel表格的方法
2020/12/05 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
学生党员思想汇报范文
2014/01/09 职场文书
学习雷锋月活动总结
2014/07/03 职场文书