求VUE3中,子组件修改props会影响父组件的解决方法?
解决思路是深拷贝,但不知道大家有是怎么做的,蹲一个优雅实践!VUE2的时候官方示例是用计算属性来解决,但是我在VUE3中这样做:
const childredObj = ref(computed(() => {return props.fatherObj}))
子组件修改childredObj还是会影响到父组件里fatherObj的值!直接这么写也不行:
const childredObj = ref(props.fatherObj})
有效的办法是JSON.parse(JSON.stringfy(props.fatherObj)),但感觉不够优雅。。。或者直接写个deep copy的方法拿来用?不知道VUE3有没有提供官方解决方法?
回复
1个回答
test
2024-07-07
似乎只能深拷贝,但 JSON.parse 和 JSON.stringfy 的方式具有缺陷,要注意。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容