zxdfe / FE-Interview

Every step counts
34 stars 1 forks source link

第78题:子组件可以直接修改父组件的数据吗? #79

Open zxdfe opened 1 year ago

zxdfe commented 1 year ago

结论:子组件不可以直接改变父组件的数据,这样做主要是为了维护父子组件的单向数据流。

当父组件发生更新时,子组件中所有的 props 都将会更新为最新的值。如果通过子组件修改父组件的数据,Vue 会在浏览器的控制台中发出警告。

Vue 提倡单向数据流,即父级 props 的更新会流向子组件,但是反过来则不行。

我们可以通过 $emit 派发一个自定义事件,父组件接收到这个事件后,由父组件自己修改自身组件上的数据。

2734209032 commented 1 year ago

不可以,vue是单项数据流,直接修改父组件中的数据,会影响其他组件