二、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);
    },
}
相关推荐
沐知全栈开发4 小时前
jEasyUI 设置排序
开发语言
code bean4 小时前
【C++ 】C++ 与 C#:using 关键字、命名空间及作用域解析符对比
开发语言·c++·c#
鹏多多4 小时前
轻量+响应式!React瀑布流插件react-masonry-css的详细教程和案例
前端·javascript·react.js
CAE虚拟与现实4 小时前
C# 调用 DLL为什么不像 C/C++调用 DLL 时需要lib库
开发语言·c++·c#·动态链接库·dll库·lib库
Larry_Yanan4 小时前
Qt线程使用(一)直接继承QThread类
开发语言·c++·qt·ui
vortex54 小时前
Bash One-Liners 学习精要指南
开发语言·chrome·bash
一颗宁檬不酸4 小时前
Vue.js 初学者基础知识点总结 第一弹
前端·javascript·vue.js
xiaoxue..4 小时前
解析 LocalStorage与事件委托在前端数据持久化中的应用
前端·javascript·面试
j***89464 小时前
MySQL数据的增删改查(一)
android·javascript·mysql
Yu_Lijing4 小时前
【个人项目】C++基于websocket的多用户网页五子棋(上)
开发语言·c++·websocket