一种 组件间通信的方式(觉得和单例模式效果一样)。
就是组件之间传递数据的载体,就像公共汽车,之所以用$bus,是因为有总线和公共汽车的意思。
实现:new Vue({
......
beforeCreate(){
Vue.propotype.$bus.$on = this //全局事件总线,$bus就是Vue组件的实例
},
......
})
在事件总线上创建一个事件:
mounted(){
this.$bus.$on('事件名',()=>{}) //放一个需要的是事件,箭头函数是这个事件触发后,调用的回调函数
}
在合适的时候触发事件总线上的事件:
this.$bus.$emit('事件名',数据) //触发$bus上的事件名,传递数据