一个关于数据流的问题

来源:1-1 课程简介

慕盖茨5398929

2019-12-17

老师好,有一个关于数据流的问题可能和课程关系不是特别大,我在处理业务逻辑的时候会有这样的需求:在父组件中通过props传递给子组件一个object类型的数据,我需要在子组件里改变父组件的props值,有三种实现方法

  1. 通过emit发送事件在父组件里修改
  2. 通过vuex维护状态在子组件修改vuex
  3. 直接在子组件里修改props
    方法1和方法2保证了数据流动的单向符合vue文档上的要求,但是操作繁琐,实现最简单的是方法3,但是这样数据流动就变成双向了。前提是我可以确保不会带来其他的异常,虽然数据是双向流动但也还算清晰。这种情况应该如何取舍,我希望可以把代码写的非常简洁高效优雅符合规范。
写回答

1回答

ustbhuangyi

2019-12-18

一般来说比较通用的是方案 1,你可以设计成 v-model子组件定义 value 的 prop改变数据后派发 input 事件。
如果父子组件是关联性强的组件方案 3 也是可行的,其实饿了么课程也有类似的场景。
方案 2 一般用在平级组件或者是没有父子关系的组件。

0
0

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程