angular.copy(src,dest)vs dest = angular.copy(src)

时间:2017-02-06 12:46:32

标签: angularjs

为什么不总是dest=angular.copy(src)代替angular.copy(src,dest)

我的src值为parentObj.childObj={a:1}

我定义了tgtParentObj.tgtChildObj={},但我没有定义tgtParentObj.tgtChildObj.tgtGrandChildObj(目前未定义)

这不起作用:angular.copy(parentObj.childObj tgtParentObj.tgtChildObj.tgtGrandChildObj)

但这可行:tgtParentObj.tgtChildObj.tgtGrandChildObj = angular.copy(parentObj.childObj)

问题:如果同时创建深层副本,为什么不总是dest=angular.copy(src)

1 个答案:

答案 0 :(得分:0)

如果需要,您可以随时使用dest = angular.copy(src)

  1. 当您使用dest = angular.copy(src)时,请创建src的深层副本并将其放在dest对象上。
  2. 当您使用angular.copy(src, dest)时,它会替换dest对象上的所有属性,值等。这就是为什么如果dest不存在,这不起作用。
  3. 详细了解copy function

    的角度文档