今天做项目时,遇到了一个特别奇怪的问题。

父组件向子组件传数组或者对象时,子组件修改传过来的数组或者对象时,父组件的数据也相应的修改。

翻看了一下vue官网,原话如下:

注意在 JavaScript 中对象和数组是通过引用传入的,所以对于一个数组或对象类型的 prop 来说,在子组件中改变这个对象或数组本身将会影响到父组件的状态。

这个很坑,我想在子组件里修改,父组件里不修改。解决办法如下:

1、如果能传单独的值,就不要传数组或者对象。

2、必须传数组或者对象,就用 JSON.parse(JSON.stringify(data ))这种方法处理一下要传的数据。

更多文章,关注我的公众号

在这里插入图片描述

Logo

前往低代码交流专区

更多推荐