angular.extend()

本文详细介绍了Angular中的extend方法,该方法用于将一个或多个源对象的属性复制到目标对象中。文章通过实例演示了如何使用angular.extend(dst, src)进行对象属性的合并,并强调了此方法不支持递归复制的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>

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

    <body ng-app="extendExample">
        <h1>angular.extend</h1>
        <p>
            <span>描述:</span><br />
            <span>复制src对象中的属性去dst对象中. 支持多个src对象. 如果你不想改变一个对象,你可以把dst设为空对象{}: var object = angular.extend({}, object1, object2). 注意: angular.extend不支持递归复制.</span>
        </p>
        <p>
            <span>使用方法:</span><br />
            <span>angular.extend(dst, src)</span>
        </p>
        <p>
            <span>参数:</span><br />
            <span>dst:Object,目标对象</span><br />
            <span>scr:Object,被copy的对象</span>
        </p>
        <p>
            <span>返回值:</span><br />
            <span>对dst的引用</span>
        </p>
        <hr />
        <div ng-controller="extendcon">

        </div>
    </body>
    <script src="../../js/angular.1.3.0.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        angular.module('extendExample', []).controller('extendcon', function($scope) {
            $scope.baby = {
                cry: function() {
                    console.log('小孩子会哭!!!');
                }
            };
            $scope.adult = {
                earn: function() {
                    console.log('成年人会赚钱!!!');
                },
                lover: {
                    love: function() {
                        console.log('成年人会有爱!!!');
                    }
                }
            };
            $scope.human = {};
            $scope.hehe = 'hehe';
            $scope.extend = function() {
                angular.extend($scope.human, $scope.baby, $scope.adult);
                $scope.human.cry();
                $scope.human.earn();
                //注意,这里修改了lover对象的love()方法,由于extends()方法不是深复制的,$scope.human和$scope.adult其实引用的是同一个对象
                $scope.human.lover.love = function() {
                    console.log("成年人会讨厌人");
                } 
                //这两行都会输出“成年人会讨厌人",可怜的adult对象,他把自己的lover分享给了human!
                $scope.human.lover.love();
                $scope.adult.lover.love();
            }
            $scope.extend();
        })
    </script>

</html>

 

转载于:https://www.cnblogs.com/tanxiang6690/p/9766022.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值