vue-01Vue组件之间通信⽅式有哪些

94 阅读1分钟

11.png

1、组件通信常用方式有以下8种:

  • props
  • emit/emit/on
  • children/children/parent
  • attrs/attrs/listeners
  • ref
  • $root
  • eventbus
  • vuex

其中 children children \ listeners $on \ eventbus vue3中已经删掉了

  • $children废弃:使用ref\refs来获取子组件
  • listeners废弃:融入到了listeners废弃:融入到了attrs中,包括class和style属性也在里面了
  • onon和eventbus:创建实例开销大,选props+$emit,provide+inject,或者观察者模式引用第三方库或实现一个

  1. 根据组件之间关系讨论组件通信最为清晰有效
  • ⽗⼦组件 props / emit/emit / parent / ref / $attrs
  • 兄弟组件 parent/parent / root / eventbus / vuex
  • 跨层级关系 eventbus / vuex / provide + inject