【vue3】在vue3里添加全局eventBus

不再自己写event bus了,依托于rxjs的hot observable,挂载一个全局属性,作为事件总线使用
1.首先在main.js中

import { createApp } from 'vue'
import App from './App.vue'
import {BehaviorSubject} from "rxjs"


const app = createApp(App);
app.config.globalProperties.$eventBus = new BehaviorSubject({}); 

app.mount('#app')

2.完成发布和订阅

import {getCurrentInstance} from "vue"
const { proxy } = getCurrentInstance(); 
...

//在需要接收值的组件中订阅:
proxy.$eventBus.subscribe((res)=>{
  console.log("--res--",res);
})

//在需要发送值的组件中发送
proxy.$eventBus.next("123");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值