兄弟组件之间全局事件总线的使用

363 阅读1分钟

直接步入正题:

我这里的全局事件总线是创建了一个bus.js的文件夹,里面长这样

import Vue from 'vue';
const bus = new Vue();
export default bus;

接下来在A和B两个兄弟组件之间开始传值了

A为发射数据的组件,里面长这样:

import bus from './bus.js';

submit() {
    bus.$emit('leader', {
        lead: this.dataForm.isLeader
    });
}

B为接收数据的组件,里面长这样:

import bus from './bus.js';
data() {
    return {
        lead: '' //lead非必须定义的,是否定义视情况而定
    }
}

mounted() {
    bus.$on('leader', ({ lead }) => {
        this.lead = lead;
    });
}