Vue2中使用全局事件总线

本文介绍了在Vue2中如何使用全局事件总线进行组件间通信,包括在main.js中创建总线,兄弟组件如何监听和触发事件,以及在beforeDestroy钩子中解绑事件。此外,还提到了其他组件通信方式,如props、自定义事件和Vuex。
摘要由CSDN通过智能技术生成

个人理解

通过一个参数去实现任意组件间通信的一个方法

这个参数需要被所有VueComponents看见

仅仅可以在Vue2中使用, 因 Vue3中已经废弃了prototype

第一步实现全局事件总线


在main.js中

// 创建vm的实例对象
new Vue({
  // 将App组件放入容器中
  render: h => h(App),
  beforeCreate() {
    Vue.prototype.$bus=this //安装全局总线
  },
}).$mount('#app')

通过绑定到vm实例对象身上,实现任意组件都可以看见这个$bus


这里我定义两个组件,为兄弟关系进行演示

在brother.vue 组件中

mounted() {
		this.$bus.$on('hello',data=>{
			console.log('收到了数据',data);
		})
	},

通过生命周期函数绑定函数,  

通俗理解,那个组件需要数据,在那个组件中写回调,

在组件中的this指的是vc(VueComponents)实例对象,在它身上可以看见$bus, 通过$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值