vue lodash深拷贝

记录今天在做vue练习时发现的一个问题:
当我修改子组件的值的时候,父组件的值也在跟着变
然后我就蒙圈了,不是说子组件不可以修改父组件的值的吗?
难道官方骗我?想想也不可能啊 ,,,以为是自己哪里的代码写错了,检查、重新写了十来分钟,发现还是一样的,看来没办法了就问下万能的度娘吧
在这里插入图片描述

然后度娘的结果是:vue父子组件传递数据的时候,浅拷贝会出现修改数据相互影响的情况
既然直接传值不可以,那就进行深拷贝吧,把要处理的数据深拷贝一份出来 之后操作深拷贝的数据即可

深拷贝的方法应该挺多,就比如说这个:JSON.parse(JSON.stringify(this.XX)) this.xx为父组件传来的数据。

既然是练习,前些天刚好用了lodash,那就继续用吧,(不能白装了这个插件啊)
我承认,我不知道它那个M是什么含义 我那完全是瞎猜的…
在这里插入图片描述
在项目中导入
官方推荐用下划线“_”命名
// 导入深拷贝这个插件

import _ from 'lodash'

使用:
cloneDeep:深拷贝的函数
需要传入你需要进行深拷贝的数据(对象)
它会返回一个对象,接收 然后操作这个深拷贝后的数据就可以了

this.updataRoleFrom = _.cloneDeep(row)

然后完美解决

小白记录,利于下次排查

猜你喜欢

转载自blog.csdn.net/weixin_44517477/article/details/105344499
今日推荐