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();
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)
})

你可能感兴趣的:(vue3,vue.js,前端,javascript)