Vue兄弟组件通信

Posted bingerger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue兄弟组件通信相关的知识,希望对你有一定的参考价值。

Vue兄弟组件通信之借助中央事件总线

 下载链接:https://www.yinxiangit.com

其实要实现兄弟组件通信,就算是通过父子组件通信的方式也是可以达到的,如 子 ——>父——>子;

在这里呢,就不对这种方式进行赘述,下面给大家介绍——借助中央事件总线。

 

第一步:

在  组件文件夹中,创建一个js文件,这里将其命名为“bus,js”,在里面写入如下代码:

    import Vue from ‘vue‘;
    const Bus = new Vue();
    export default Bus;

第二步:

假如组件a.vue  和  组件b.vue是兄弟组件,那么分别在两个.vue文件里,引入bus.js,写法如下:

    import Bus from ‘./bus.js‘

引入的具体路径按照实际的项目写,这里bus.js是和.vue文件同级。

第三步:

假如我们要实现a.vue传值给b.vue,则在a.vue中,恰当的地方,比如某事件触发后,或者mounted之类的生命周期中都行,写入:

Bus.$emit("事件名",要传的数据);

第四步:

在b.vue的mounted中写入:

Bus.$on(‘事件名‘,res=>
	console.log(res)//传过来的数据	
)

传过来的数据可以是一个变量,也可以是一个对象、数据。

以上是关于Vue兄弟组件通信的主要内容,如果未能解决你的问题,请参考以下文章

Vue 兄弟组件通信(不使用Vuex)

Vue兄弟组件通信

vue 组件通信方式 ,父子、隔代、兄弟 三类通信,六种方法

vue2.0 父子组件通信 兄弟组件通信

vue2.0 父子组件通信 兄弟组件通信

vue 组件通信 (子传父 , 父传子 , 兄弟通信)