全局事件总线


全局事件总线可以实现任意组件间的通信

Vue 原型对象上包含事件处理的方法 1) $on(eventName, listener): 绑定自定义事件监听 2) $emit(eventName, data): 分发自定义事件 3) $off(eventName): 解绑自定义事件监听 4) $once(eventName, listener): 绑定事件监听, 但只能处理一次 所有组件实例对象的原型对象的原型对象就是 Vue 的原型对象 1) 所有组件对象都能看到 Vue 原型对象上的属性和方法 2) Vue.prototype.$bus = new Vue(), 所有的组件对象都能看到$bus 这个属性对象

指定事件总线对象

在mian.js文件中设置事件总线

new Vue({
  beforeCreate () { // 尽量早的执行挂载全局事件总线对象的操作 
    Vue.prototype.$bus = this 
  },
  router,
  store,
  render: h => h(App)
}).$mount('#app')

student.vue



school.vue组件