# 非父子组件通讯
小常识:
**原理:**
> 通过一个Vue实例来传递数据
const bus =new Vue()
**核心逻辑:**
>组件A给组件B传值:
>1. 组件A给bus注册一个事件,监听事件的处理程序
>2. 组件B触发bus上对应的事件,把 值当成参数来传递
>3. 组件A通过事件处理程序获取数据
>
下列关于非父子组件通讯描述正确的是?
## 答案
eventBus其实就是A组件给eventBus注册一个事件,监听事件的处理程序,B组件通过触发eventBus上的事件并将要传递的值作为参数传递,A组件通过事件处理程序获得数据。
## 选项
### A
eventBus是非父子组件通讯唯一方式。
### B
非父子组件之间进行通讯势必会造成内存泄漏,一般我们通过将非父子组件转化成父子组件在进行通讯。
### C
VueX 并不能解决非父子通讯问题。