一个关于数据流的问题
来源:1-1 课程简介

慕盖茨5398929
2019-12-17
老师好,有一个关于数据流的问题可能和课程关系不是特别大,我在处理业务逻辑的时候会有这样的需求:在父组件中通过props传递给子组件一个object类型的数据,我需要在子组件里改变父组件的props值,有三种实现方法
- 通过emit发送事件在父组件里修改
- 通过vuex维护状态在子组件修改vuex
- 直接在子组件里修改props
方法1和方法2保证了数据流动的单向符合vue文档上的要求,但是操作繁琐,实现最简单的是方法3,但是这样数据流动就变成双向了。前提是我可以确保不会带来其他的异常,虽然数据是双向流动但也还算清晰。这种情况应该如何取舍,我希望可以把代码写的非常简洁高效优雅符合规范。
写回答
1回答
-
ustbhuangyi
2019-12-18
一般来说比较通用的是方案 1,你可以设计成 v-model子组件定义 value 的 prop改变数据后派发 input 事件。
如果父子组件是关联性强的组件方案 3 也是可行的,其实饿了么课程也有类似的场景。
方案 2 一般用在平级组件或者是没有父子关系的组件。00
相似问题