关于vue.js子父组件通过prop来传递一个Object或者Array时的一个疑惑

reahink
  • 42

clipboard.png
官方文档里有这一句话。
也就是说,如果我的prop是一个object的话,那么我在子组件中使用this.object.xxx='xxx';的话,那么在父组件中也就可以获取到改变后的object里的xxx属性的值了。
请问,这种方式虽然是能达到预期的效果,那么是不是不推荐这样做呢?
还是依然推荐使用自定义事件的方式来给父组件通信。

回复
阅读 4.5k
1 个回答
✓ 已被采纳

可以是可以,但是这样做会破坏flux单向数据流,而且很多时候无法触发prop数组的watcher,导致报错或者警告,正确的做法还是要用自定义事件的方式
相对比较方便的方式是,在父组件绑定子组件的属性时,添加.sync修饰符,然后在子组件中通过$emit('update:绑定的属性名',val)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏