二、Vue3跨组件调用函数[mitt]

一、跨组件调用函数

安装:npm install mitt

创建文件并写入:

bash 复制代码
// bus.js
import mitt from 'mitt'
export const eventBus = mitt()

使用方法:

bash 复制代码
import { eventBus } from '../../bus';
eventBus.emit(name,data) 
//触发事件,两个参数:name:触发的方法名,data:需要传递的参数
eventBus.on(name,callback) 
//绑定事件,两个参数:name:绑定的方法名,callback:触发后执行的回调函数
eventBus.off(name,callback) 
//解绑事件,一个参数:name:需要解绑的方法名,callback:on中绑定的函数名

示例(目标A组件调用B组件的函数):

A组件:

bash 复制代码
import { eventBus } from '../../bus';
export default {
    methods: {
        active(id){
            eventBus.emit('chat', id);//表示使用active这个函数将调用B里面对应填入chat的相关操作
        },
   }
}

B组件:

bash 复制代码
import { eventBus } from '../../bus';
export default {
    created() {
        eventBus.on('chat', this.add_chat);
    },
    beforeUnmount() {
        eventBus.off('chat', this.add_chat);
    },
}
相关推荐
阿猿收手吧!11 小时前
【C++】无锁原子栈:CAS实现线程安全
开发语言·c++·安全
Jinuss11 小时前
源码分析之React中Scheduler调度器的最小二叉堆
javascript·算法·react.js
写代码的【黑咖啡】11 小时前
Python 中的自然语言处理工具:spaCy
开发语言·python·自然语言处理
沐知全栈开发11 小时前
WSDL 语法详解
开发语言
a11177611 小时前
电流卡片特效(html网页 开源)
javascript·css·css3
狗都不学爬虫_11 小时前
JS逆向 -最新版 盼之(decode__1174、ssxmod_itna、ssxmod_itna2)纯算
javascript·爬虫·python·网络爬虫·wasm
天天进步201511 小时前
透明的可观测性:剖析 Motia Workbench 与插件系统架构
javascript
夏河始溢11 小时前
一八四、Zustand 状态管理详解、与 Redux、MobX 的对比分析
前端·javascript·react.js·状态管理·zustand
wangmengxxw11 小时前
设计模式 -详解
开发语言·javascript·设计模式
froginwe1111 小时前
ECharts 样式设置
开发语言