gpt4 book ai didi

javascript - 处理 Angular 2+ 中子组件中通过引用传递的对象

转载 作者:行者123 更新时间:2023-12-01 00:32:27 25 4
gpt4 key购买 nike

我知道 TypeScript 通过引用传递对象,并且没有明确的最佳实践来绕过它来获取深拷贝,但我发现很难使用它,特别是在主题中工作时。

我刚刚遇到一个组件的情况,该组件具有对象数组并将其传递给子组件。每个子组件都会更新作为输入传递的单个对象。问题:我不是编写它的人,所以我不知道子组件直接修改了值。即使我是,我也很确定六个月后我不会记得。

是否有明确的最佳实践来处理这个问题?

最佳答案

如果 lodash 在你的工具带中,你可以使用 _.cloneDeep()。我已经将其可靠地用于相对较大的对象和大型集合,没有任何问题。

https://lodash.com/docs/4.17.15#cloneDeep

var objects = [componentObj1, componentObj2];
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false

关于javascript - 处理 Angular 2+ 中子组件中通过引用传递的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58414481/

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