(在Vue中)如何在不影响主组件的情况下更新子组件中具有引用类型的道具?

(in Vue) How to update props has reference types in child component without affecting main component?

我正在尝试在主组件下创建子组件,并将道具从主组件发送到子组件。如果用户对子组件进行更改,我希望有可能不会影响主组件。我的意思是单向绑定。

查看完整存储库https://github.com/saidakyuz/test-vue-props-wih-cypress

作为解决方案 SubComp3 returns 引用类型的单个元素,但我希望有可能 return 完整的数组或对象以备不时之需。

谁能帮我找出解决办法?

我找到了一种在没有引用连接的情况下复制引用对象的好方法。这样主组件就不会受到子组件变化的影响。

我所做的更改(浅);

来自: var cObjectString=this.pObjectString

致: var cObjectString={...this.pObjectString}

但是 shallow 不适用于数组对象。为此,我使用了如下深度克隆;

来自: var cObjectArray =this.pObjectArray

致: var cObjectArray = cloneDeep(this.pObjectArray)

在本文中,您可以获得有关 shallow or deep clone reference types

的更多信息