1、兄弟之间传递数据需要借助于事件车,通过事件车的方式传递数据

2、创建一个Vue的实例,让各个兄弟共用同一个事件机制。

3、传递数据方,通过一个事件触发bus.$emit(方法名,传递的数据)。

4、接收数据方,通过mounted(){}触发bus.$on(方法名,function(接收数据的参数){用该组件的数据接收传递过来的数据}),此时函数中的this已经发生了改变,可以使用箭头函数。

源码:

我们可以创建一个单独的js文件eventVue.js,内容如下

1
2
import Vue from 'vue'
export default new Vue

假如父组件如下:

1
2
3
4




组件a

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16