全局事件总线
它是一种组件间通信的方式, 适用于任意组件间通信。
1. 全局事件总线步骤
1.1 安装全局事件总线
new Vue({
....
beforeCreate(){
Vue.prototype.$bus = this // 安装全局事件总线,$bus就是当前应用的vm
},
......
})
1.2 使用事件总线
1.3 接收数据
A组件想接收数据,则在A组件中给$bus绑定自定义事件,事件的回调留在A组件自身。
js
methods(){
demo(data){......}
}
......
mounted() {
this.$bus.$on('xxx', 数据)
}
1.4 提供数据
this.$bus.$emit('xxx', 数据)
1.5 配置解绑
在beforeDestory钩子中,用$off去解绑当前组件所用到的事件。