angular.copy()

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>angular.copy</title>
    </head>

    <body ng-app="copyExample">
        <h1>angular.copy</h1>
        <p>
            <span>描述:</span><br />
            <span>复制一个对象或者数组</span>
        </p>
        <p>
            <span>使用方法:</span><br />
            <span>angular.copy(source, [destination])</span>
        </p>
        <p>
            <span>参数:</span><br />
            <span>source: 被copy的对象,可以使用任意类型,包括null和undefined</span><br />
            <span>destination(optional):Object || array,copy去的目的地可以省略,如果不省略,其必须和source是同类</span><br />
        </p>
        <p>
            <span>返回值:</span><br />
            <span>返回这个应用程序的新创建的injector(注入)对象</span>
        </p>
        <hr />
        <div ng-controller="exampleController">
            <form novalidate class="siple_form">
                姓名:<input type="text" ng-model="user.name"/><br />
                邮箱:<input type="email" ng-model="user.email"/>(输入email格式)<br />
                性别:<input type="radio" ng-model="user.gender" value="boy"/>男
                <input type="radio" ng-model="user.gender" value="girl"/>女<br />
                <button ng-click="reset()">reset</button>
                <button ng-click="save(user)">save</button>
            </form>
            <pre>form = {{user | json}}</pre>
            <pre>master = {{master | json}}</pre>
        </div>
    </body>
    <script src="../../js/angular.1.3.0.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        angular.module(‘copyExample‘, []).controller(‘exampleController‘, [‘$scope‘, function($scope){
            $scope.master = {};
            $scope.save = function(user){
                //console.log(‘保存‘)
                $scope.master = angular.copy(user)
            };
            $scope.reset = function(){
                //console.log(‘重置‘)
                angular.copy($scope.master, $scope.user)
            }
            $scope.reset();
        }])
    </script>

</html>

原文地址:https://www.cnblogs.com/tanxiang6690/p/9764647.html

时间: 2024-10-11 04:28:18

angular.copy()的相关文章

angular.copy和angular.extend

angular.copy用于深复制,而angular.extend用于拓展.     angular.copy(src,[dst]) src:源对象 dst:目标对象,复制的对象 js中 '= '操作符复制的是指针,所以前后两个变量指向的还是内存中的同一个对象,所以在其中一个变量上操作该对象时,对另外一个变量也会生效.而angular.copy方法是深复制,会在内存中再生成一个对象,两个变量彼此独立,互不影响. 接收一个必须参数src,一个可选参数dst.如果dst没有提供,就会创建对象或者数组

嘿!@野兽,你的ng api 掉了 - - angular.copy

@野兽的 ng api 学习 -- angular.copy angular.copy 针对对象或数字创建一个深层的拷贝. 格式:angular.copy(source, [destination]); source:被拷贝的对象 destination:接收的对象 [注意:参数类型是对象或数组] 使用代码: var objA, objD = []; //objA:undefined objD:[] var objB = { text: "Hello World" }; var obj

angular.js 的angular.copy 、 angular.extend 、 angular.merge

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script src="js/angular.min.js" type="text/javascript" charset="utf-8"></s

AngularJS方法 —— angular.copy

描述: 复制一个对象或者一个数组(好吧,万物皆对象,数组也是一个对象). 如果省略了destination,一个新的对象或数组将会被创建出来: 如果提供了destination,则source对象中的所有元素和属性都会被复制到destination中: 如果source不是对象或数组(例如是null或undefined), 则返回source: 如果source和destination类型不一致,则会抛出异常. 注意:这个是单纯复制覆盖,不是类似继承 使用方法: angular.copy(sou

angular.extend vs angular.copy

1.angular.copy angular.copy(source, [destination]);  // source: copy的对象. 可以使任意类型, 包括null和undefined.    destination:接收的对象   返回复制或更新后的对象 如果省略了destination,一个新的对象或数组将会被创建出来: 如果提供了destination,则source对象中的所有元素和属性都会被复制到destination中: 如果source不是对象或数组(例如是null或u

angularJSapi学习-angular.copy使用

angular.copy使用 效果: 初始状态: 输入信息后未保存状态: 点击save后状态: 当输入框内容和master内容不一致时: 点击reset使得user的信息被重置为master中信息: 具体代码: 1 <!DOCTYPE HTML> 2 <html ng-app="app"> 3 <head><script src="./angular.min.js"></script></head&g

angular.extend深拷贝(deep copy)

在用到angular.extend的时候,正好碰到一个对象,是层层嵌套的Array, 结果发现只能extend第一层,查阅官文档,确实不支持deep copy: Note: Keep in mind that angular.extend does not support recursive merge (deep copy). 在stackoverflow找到一个方案,只是好像没什么用,看了一下他的写法,原来是在自行判断是否应该进入下一层递归,因为深拷贝的原始需求就是拷贝到最底层的每一个字段,

Angular.js 中 copy 赋值与 = 赋值 区别

转自st.gg Angular.js 中 copy 赋值与 = 赋值 区别 为什么用 $scope.user = $scope.master; $scope.master 会跟着 $scope.user 改变?angular.copy 和 = 号赋值有什么区别呢?新手还没有搞懂,请教各位了. <!DOCTYPE html> <html> <script src= "http://apps.bdimg.com/libs/angular.js/1.3.9/angular

angular参考手册拷贝

AngularJS 参考手册 AngularJS 指令 本教程用到的 AngularJS 指令 : 指令 描述 ng-app 定义应用程序的根元素. ng-bind 绑定 HTML 元素到应用程序数据 ng-bind-html 绑定 HTML 元素的 innerHTML 到应用程序数据,并移除 HTML 字符串中危险字符 ng-bind-template 规定要使用模板替换的文本内容 ng-blur 规定 blur 事件的行为 ng-change 规定在内容改变时要执行的表达式 ng-check