vue子组件如何修改父组件中的对象的值?
如题:在子组件child中只能this.$emit('updata:logo',res.data.file.file_path);
这样修改父组件的值,那假设logo属性在父组件的form对象中呢?this.$emit('updata:form.logo',res.data.file.file_path);
这样子无效
请问该如何解决这种问题?
我目前有想到可以在父组件中写一个专门的赋值方法,子组件去调用并传入要修改的对象的key值,然后该父组件中的方法再去修改form对象中对应的key值。但是我还是想直接赋值,易读性更高
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这写法就是用来解耦的,在父组件对应绑定值上带
.sync
修饰符:logo.sync="logo"
:logo.sync="form.logo"
绑定在父组件的哪个对象哪个属性上直接写就行,子组件内根本不需要关心
如果你要强耦合,写的子组件只给这个父组件用,直接
就行了,反正你看得懂
可以参考问题 https://segmentfault.com/q/10... 中 @Raymond 的回答 ;
其实 ... props 的数据在子级直接修改会导致父级数据的同步变更的
只是规范要求用不要直接改才多此一举的
注意!修改指 Object,你拿 String 当我没说
你好 想问下这个问题你这边是怎么解决的呢,我也遇到了 但是还不知道怎么解决。。