【问题标题】:Angular.Copy returning RangeError: Maximum call stack size exceeded. How to resolve?Angular.Copy 返回 RangeError:超出最大调用堆栈大小。如何解决?
【发布时间】:2014-02-07 01:45:39
【问题描述】:

angular.copy 有上限吗?我有一个有点复杂的对象想要复制,但出现 Max 调用堆栈错误。

【问题讨论】:

  • 你有 DOM 元素吗?它们到处都有指针(父、子等)并最终引用整个文档。它们不能那样复制。

标签: angularjs


【解决方案1】:

您自己的对象中可能有循环引用。下面是一个案例:

var objectA = {};
var objectB = {};

//circular references
objectA.property = objectB; 
objectB.property = objectA;

$scope.object = {
  propertyA : objectA,
  propertyB: objectB
}

DEMO

【讨论】:

  • 尚未找到,但我同意这应该是问题所在。谢谢。
  • @Eric G:祝你好运。希望您尽快发现问题。
  • 我之前看到过这个错误,并使用 jQuery.extend(true, {}, obj) 解决了这个问题。
  • jq extend 也为我修复了,也许它是旧版本 angular.copy 中的错误?
猜你喜欢
  • 2015-03-15
  • 2018-02-06
  • 1970-01-01
  • 2021-05-30
  • 2021-07-11
  • 2019-07-05
  • 2015-04-26
相关资源
最近更新 更多