站长学院
CMS建站教程 SEO优化攻略
来源:齐鲁建站 栏目:开发教程 阅读: 日期:2023-11-28
全局事件总线 一种组件间通信的方式,适用于任意组件间通信。与消息订阅与发布相比,全局事件总线是VUE自带的,所以性能更好~
全局事件总线 一种组件间通信的方式,适用于任意组件间通信。
一、安装全局事件总线
进入main.js,写入下方红色部分
new Vue({
......
beforeCreate() {
Vue.prototype.$bus = this //安装全局事件总线,$bus就是当前应用的vm
},
......
})
二、使用事件总线
1 进入接收数据方,比如:A组件想接收数据,则在A组件中给$bus绑定自定义事件(也就是钩子),事件的回调留在A组件自身。
这里也有两个方法,一种是methods+mounted的方法,如下所示:
methods(){
demo(data){......}
}
......
mounted() {
this.$bus.$on('xxxx',this.demo)
}
另一种是只用mounted的方法(使用箭头函数),如下所示:
mounted() {
this.$bus.$on('xxxx',(yyy)=>{
console.log('我是XXX,收到数据:', yyy)
})
}
2 提供数据:
this.$bus.$emit('xxxx',数据)
3 最好在beforeDestroy钩子中,用$off去解绑当前组件所用到的事件