gpt4 book ai didi

angularjs - 当一个对象引用另一个对象时,Angular JS : angular. 副本会导致浏览器崩溃

转载 作者:行者123 更新时间:2023-12-04 20:46:48 26 4
gpt4 key购买 nike

我有以下 JavaScript/Angular 代码:

var a = {};
var b = {};
a.ref = b;
b.ref = a;
angular.copy(a);

angular.copy触发,浏览器锁定。我假设这是因为复制函数正在做一个深拷贝,当它开始复制 a 对 b 的引用时,它进入 b 然后想要复制它对 a 的引用,从而创建一个循环副本,它永远不会结尾。

这个假设正确吗?如果是这样,有没有办法避免这种情况?我假设答案将涉及更改我的数据的外观,但我很想听听其他人的想法。

最佳答案

你的假设是对的,问题是循环引用。 JSON.stringify也会提示这种结构。 jQuery.extend在非常基本的级别检测循环引用,并且可以在此处处理您的基本示例,但是 jQuery.extend has its own issues as well .如果你已经在使用 jQuery,你可以只使用扩展,否则你可能想自己编写一些东西,或者你可以使用这个花哨的 cloneObject我通过谷歌找到的功能:

https://gist.github.com/NV/1396086

关于angularjs - 当一个对象引用另一个对象时,Angular JS : angular. 副本会导致浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16463422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com