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)
})
版权归原作者 qq_38677540 所有, 如有侵权,请联系我们删除。