zoukankan      html  css  js  c++  java
  • 关于angular.extend的用法

    ng中的ng-function中会有些方法,便于我们进行js代码的编写

    关于angular.extend(dst, src);通过从src对象复制所有属性到dst来扩展目标对象dst。你可以指定多个src对象。

    注意:angular.extend(....)只是简单的对象之间的相互引用,

    经典的demo ;

    <!DOCTYPE html>
    <html ng-app="extendApp">
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://code.angularjs.org/1.2.3/angular.min.js"></script>
    </head>
    <body>

    <div ng-controller="extendController">

    <button ng-click="extend()">点击我!</button>

    </div>
    </body>
    </html>

    <script type="text/javascript">
    angular.module("extendApp", [])
    .controller("extendController", function($scope)
    {
    $scope.baby =
    {
    cry : function()
    {
    console.log("I can only cry!");
    }
    }

    $scope.adult =
    {
    earn : function()
    {
    console.log("I can earn money!");
    },
    lover:
    {
    love:function()
    {
    console.log("I love you!");
    }
    }
    }
    $scope.human = {}

    $scope.hehe = "hehe ";

    $scope.extend = function()
    {
    angular.extend($scope.human, $scope.baby, $scope.adult);
    $scope.human.cry();
    $scope.human.earn();
    // $scope.human 和$scope.adult其实引用的是同一个对象-
    $scope.human.lover.love = function()
    {
    console.log("I hate you!");
    }

    //这两行都会输出“I hate you !",可怜的adult对象, 他把自己的lover分享给了human! -->
    $scope.human.lover.love();
    $scope.adult.lover.love();
    }
    });
    </script>

    结果:

      I can only cry!
      I can earn money!
      I hate you!
      I hate you!

    拓展:关于对象,数组的复制,我们可以进一步的了解angular.copy();的使用方法

  • 相关阅读:
    asp.net控件开发基础(转)
    如何在C#中直接操作C++结构体(转)
    如何打造自己的代码段
    WeifenLuo.WinFormsUI.Docking.dll 源码分析(一)
    软件竞标流程与要点【转】
    C#进制转换
    使用 DpaToolkit 对 C#类库进行反向建模
    算法的时间复杂度(计算实例)
    C#操作SQLServer的Image字段
    不同进制之间的转换
  • 原文地址:https://www.cnblogs.com/evaling/p/6695024.html
Copyright © 2011-2022 走看看