二、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);
    },
}
相关推荐
马拉萨的春天5 分钟前
探索Objective-C中的对象复制:深入理解copy和mutableCopy
开发语言·ios·objective-c
啊森要自信20 分钟前
【MySQL 数据库】使用C语言操作MySQL
linux·c语言·开发语言·数据库·mysql
Rysxt_22 分钟前
Electron 与 uni-app 区别教程:如何选择适合你的跨平台开发框架?
javascript·electron·uni-app·跨平台
前端架构师-老李26 分钟前
15、Electron专题:使用 electron-store 进行本地数据存储
前端·javascript·electron
小白学大数据27 分钟前
双管齐下:结合显式等待与Timeout处理复杂Ajax网页
前端·javascript·ajax
Rysxt_31 分钟前
Electron 教程:从背景到 Vue3 桌面应用开发
前端·javascript·electron
千码君201631 分钟前
Go语言:对其语法的一些见解
开发语言·后端·golang
mjhcsp1 小时前
C++ char 类型深度解析:字符与字节的双重身份
开发语言·c++·char
程序猿John1 小时前
python深度学习之爬虫篇
开发语言·爬虫·python
peiwang2451 小时前
Linux系统中CoreDump的生成与调试
java·linux·开发语言