一尘不染

angular.copy()和赋值(=)有什么区别?

angularjs

我想通过事件参数发生按钮单击事件时分配一些值:

$scope.update = function(context) {
    $scope.master = context;
};

我已将user值分配给 $scope.master

现在我看到angular.copy()。所以我用angular.copy编写了代码。

$scope.update = function(context) {
    $scope.master = angular.copy(context)
};

两者都在做同样的事情,所以有什么区别?请告诉我angular.copy()和之间的区别equal(=)


阅读 361

收藏
2020-07-04

共1个答案

一尘不染

可以理解,这里
angular.copy()执行了参数的深层复制(参见“克隆”)-本质上是创建一个新对象-而使用赋值运算符=只分配 引用 的。

因此,在后一种情况下,如果您要更改某些内容,$scope.master您也会更改context

干杯,

2020-07-04