0


vue3全局事务总线mitt

vue3中$on,$off 和 $once 实例方法已被移除,组件实例不再实现事件触发接口。可以使用Mitt库(其实就是发布订阅模式的设计)

安装

$ npm install --save mitt

内置方法

发布事件

mybus.emit('自定义事件名称','数据');

使用方法通过emit派发, on 方法添加事件,off 方法移除,clear 清空所有

新建mitt文件夹,index.ts

import mitt from 'mitt'

type Event={
    name:string
}
const emitter = mitt<Event>();
export default  emitter

派发

const change=()=>{
    emitter.emit('name','dd')
}

获取

emitter.on('name',e=>{
   console.log(e)
})

如果在setup中派送参数,需要写在onMounted

onMounted(()=>{
    emitter.emit('name','ii')
})

//获取
emitter.on('name',e=>{
   console.log(e)
})

本文转载自: https://blog.csdn.net/qq_38677540/article/details/128354950
版权归原作者 qq_38677540 所有, 如有侵权,请联系我们删除。

“vue3全局事务总线mitt”的评论:

还没有评论