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 相关文章推荐
iframe窗口高度自适应的又一个巧妙实现思路
Apr 04 Javascript
Javascript表单验证要注意的事项
Sep 29 Javascript
javascript实现动态加载CSS
Jan 26 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 Javascript
thinkjs之页面跳转同步异步操作
Feb 05 Javascript
jQuery基于Ajax方式提交表单功能示例
Feb 10 Javascript
angular 用拦截器统一处理http请求和响应的方法
Jun 08 Javascript
Express + Session 实现登录验证功能
Sep 08 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
angular 未登录状态拦截路由跳转的方法
Oct 09 Javascript
vue基于viewer实现的图片查看器功能
Apr 12 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 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/03/11 PHP
建站常用13种PHP开源CMS比较
2009/08/23 PHP
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
Yii2如何批量添加数据
2016/05/17 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
python根据出生日期获得年龄的方法
2015/03/31 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python 转义字符详细介绍
2017/03/21 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
2019/10/11 Python
python 连续不等式语法糖实例
2020/04/15 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
2014年企业团支部工作总结
2014/12/10 职场文书
大学生求职信怎么写
2015/03/19 职场文书
专家推荐信怎么写
2015/03/25 职场文书
家庭经济困难证明
2015/06/23 职场文书
详解SQL的窗口函数
2022/04/21 Oracle