有时候两个组件也需要通信(非父子关系)。当然Vue2.0提供了Vuex,但在简单的场景下,可以使用一个空的Vue实例作为中央事件总线。
使用
- var Bus = new Vue()实例化
- Bus.$on(“busName”){} 监听
- Bus.$emit(“busName”) 触发/可以设一个点击事件触发或者使用mounted()声明周期挂载 在组件加载完后触发。
1.实际运用的时候一般把bus抽离出来;Bus.js
import Vue from 'vue'
const Bus = new Vue();
export default Bus;
组件调用时引入
组件1