二、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);
    },
}
相关推荐
xiaozi41201 分钟前
Ruey S. Tsay《时间序列分析》Python实现笔记:综合与应用
开发语言·笔记·python·机器学习
@菜菜_达3 分钟前
goldenLayout布局
前端·javascript
Shirley~~4 分钟前
vite的tersor在lib库模式下不生效问题
javascript·vue.js·ecmascript
小飞侠在吗4 分钟前
vue 生命周期
前端·javascript·vue.js
wearegogog12310 分钟前
DEA模型MATLAB实现(CCR、BCC、超效率)
开发语言·算法·matlab
郝学胜-神的一滴19 分钟前
Linux定时器编程:深入理解setitimer函数
linux·服务器·开发语言·c++·程序人生
cici1587424 分钟前
基于反向传播算法实现手写数字识别的MATLAB实现
开发语言·算法·matlab
WX-bisheyuange1 小时前
基于Spring Boot的电影院购票系统设计与实现
前端·javascript·vue.js·毕业设计
曹牧1 小时前
Java String[] 数组的 contains
java·开发语言·windows
yong99901 小时前
LSD直线提取算法 MATLAB
开发语言·算法·matlab