1. 父子组件传值: v-bind
  2. 子传父: v-on
  3. 兄弟组件之间共享数据: EventBus

    • $emit 发送数据的那个组件
    • $on 接收数据的那个组件

      兄弟组件传值-Vue事件车 Event_Bus

  4. 先创建中央事件总线,在 src/utils下创建一个eventBus.js: ```js /**

  • 事件车 */ import Vue form ‘vue’ export default new Vue() ``` eventBus 中只创建了一个新的Vue实例,以后它就承担起啦组件之间通信的桥梁,也就是中央事件总线。
  1. 在触发事件的组件里,引入 eventBus 这个事件总线,接着添加一个按钮并绑定一个点击事件

    1. import eventBus form '@src/utils/eventBus'
    2. // 注册点击事件,用来传递数据
    3. hanldleClick(){
    4. eventBus.$emit('updateCart', data)
    5. }
  2. 再创建一个兄弟组件。接收值,实现同步刷新和其他处理,引入eventBus 事件总线,并同步刷新

    1. import eventBus form '@src/utils/eventBus'
    2. // 注册事件,用来接受数据(监听上面自定义的函数)
    3. eventBus.$on('updateCart',(data)=>{
    4. if(data === 'a'){
    5. }
    6. })

    $on事件是不会自动清除销毁的,需要我们手动来销毁,要通过eventBus.$off来关闭

参考:
csdn急不来
Vue兄弟组件之间传值——bus事件车