Vue2中使用全局事件总线

个人理解

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

这个参数需要被所有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, 通过$

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值