vue多级组件通讯方案-EventBus

我们在父子组件传参时,经常是在子组件emit传参给父组件

有多级传参情况一般都会用vuex这里就不细说vuex了

其实我们也可以使用EventBus实现组件传参、事件调用

以下就以登录为例

本项目是有个弹框授权登录组件,当点击授权登录时,关闭弹框,任然停留在本页面。因为已经登录了所以需要调用一些需要token的接口。

现在该怎么监听组件是否点击授权,然后监听回调事件呢

一、在main.js中注册一个全局对象

Vue.prototype.$BusEvent = new Vue()

二、触发事件

当点击授权是弹出框组件触发事件,并传参

this.$BusEvent.$emit("auth", param1,param2,...);

三、监听事件

在页面监听是否触发了 auth事件,获取子组件的参数,自己就可以使用了

 this.$BusEvent.$on("auth", async (param1,param2,...) => {
      //这里就写回调成功需要干的事情
   
}

其实这和普通的父子组件传参相似,了解父子组件传参的一般都能理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三线码工

码字不易,有钱打赏,没打钱点赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值