公共事件总线eventBus的实质就是建立一个vue实例,经过一个空的vue实例做为桥梁实现vue组件间的通讯。它是实现非父子组件通讯的一种解决方案。vue
用法以下:vuex
第一步:项目中建立一个js文件(我一般给它取个名字为bus.js),引入vue,建立一个vue实例,导出这个实例,代码以下(一共就两行):学习
1 import Vue from 'Vue' 2 export default new Vue
1 Bus.$on('click',target => { 2 console.log(target) // 注意:发送和监听的事件名称必须一致,target就是获取的数据,能够不写target。只要你喜欢叫什么均可以(固然了,这必定要符合形参变量的命名规范) 3 })
1 beforeDestroy(){ 2 bus.$off('click') 3 }
总结一下,这里只是介绍如何使用eventBus来解决非父子组件通讯,可是当项目较大较复杂时,并不适合。到那时,vuex才是vue给咱们提供的最理想的方式。spa
注意:以上存粹是我的的理解,有不一样观点或者其余建议的欢迎交流学习!code