有时候两个组件也需要通信(非父子关系)。当然Vue2.0提供了Vuex,但在简单的场景下,可以使用一个空的Vue实例作为中央事件总线。
eventBus.js放在assets
import Vue from 'Vue' export default new Vue;
哪个组件中使用引入进去
import bus from '../../assets/eventBus';
//触发这个方法即可userDefinedEvent这个函数
sendMsg:function(){ bus.$emit('userDefinedEvent','this message is from person_info'); },
需要同步做出改变的组件,可以监听到userDefinedEvent这个事件
bus.$on('userDefinedEvent', function(mes) { //console.log(mes); })