Vue全局事件总线_任意组件间通信

本文介绍了如何在Vue.js应用中实现组件间的通信,通过创建全局事件总线($bus)来传递数据。首先,在Vue实例的beforeCreate钩子中安装$bus。然后,组件可以订阅($on)事件总线上的特定事件来接收数据,或者发布($emit)事件来提供数据。这种方法为不直接相关的组件提供了一种解耦的通信方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全局事件总线 —— 任意组件间通信

实现一个中介。

1.安装全局事件总线
new Vue({
  el:'#app',
  //将App组件放入容器中
  render: h => h(App),
  beforeCreate(){
    Vue.prototype.$bus = this		//安装 $bus计算当前应用的vm
  }
})
2.使用事件总线

①接收数据:A组件接收数据,则在A组件给$bus绑定自定义事件,事件的回调留在A组件自身

methods(){
	demo(data){}
},
mounted(){
	this.$bus.$on('xxxx',this.demo)
}mounted(){
	this.$bus.$on('xxxx',(data)=>{
		....
	})
}

②提供数据

methods:{
	ssss(){
		this.$bus.$emit('xxxx',数据)
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值