全局事件总线
全局事件总线可以实现任意组件间的通信
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
class="student">
姓名:{{name}}
性别:{{sex}}
school.vue组件
class="school">
班级名称:{{name}}
班级地址:{{address}}