vue3 使用$bus事件总线

1.安装mitt

npm i mitt

2.在main.js注册

// ...

import mitt from 'mitt'

const $bus = {}

const emitter = mitt()

$bus.on = emitter.on

$bus.emit = emitter.emit

$bus.off = emitter.off

app.config.globalProperties.$bus = $bus

app.mount('#app')

3.使用

3.1 在接收的页面

import {getCurrentInstance, onUnmounted} from 'vue'

setup() {

        const $bus = getCurrentInstance().appContext.config.globalProperties.$bus

        $bus.on('eventName', options => {

                // 自定义业务

        })

        // 清除监听

        onUnmounted(() => {

                $bus.off('eventName')

        })

}

3.2 在发布的页面

import {getCurrentInstance} from 'vue

setup() {

        const $bus = getCurrentInstance().appContext.config.globalProperties.$bus

        let params = {a: 123} // 自定义数据

        $bus.emit('eventName', params)

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值