实现点击修改表格信息,弹出对话框(子组件)修改本行数据,但是由于prop传的是一个对象,每次在对话框里修改的同时,父组件表格里的数据也会跟着改变。
看到了vue文档里的这句话:
![](https://img.haomeiwen.com/i5831918/15665d21e70bbc4f.png)
引用数据类型中,前三者都是保存在变量对象中,而对象和数组保存在堆内存中,操作的只是他们的引用
![](https://img.haomeiwen.com/i5831918/d4977b72cebe28ce.png)
用prop传递对象和数组时都会出现这种污染的情况,我的解决方法是在定义数据是把内部的数据单个重新定义一下,然后再赋值,适用于数据量较小的对象
![](https://img.haomeiwen.com/i5831918/e5cddc40fbc402a1.png)
实现点击修改表格信息,弹出对话框(子组件)修改本行数据,但是由于prop传的是一个对象,每次在对话框里修改的同时,父组件表格里的数据也会跟着改变。
看到了vue文档里的这句话:
引用数据类型中,前三者都是保存在变量对象中,而对象和数组保存在堆内存中,操作的只是他们的引用
用prop传递对象和数组时都会出现这种污染的情况,我的解决方法是在定义数据是把内部的数据单个重新定义一下,然后再赋值,适用于数据量较小的对象
本文标题:Vue prop传一个对象给子组件,怎么避免子组件修改数据污染父
本文链接:https://www.haomeiwen.com/subject/nhzilxtx.html
网友评论