vue3-事件总线
事件总线的概念:
事件总线(Event Bus)可以理解为一个全局的发布/订阅模式,可以通过它来实现不同组件之间的消息传递。在Vue实例或Vue组件中充当一个中央枢纽,通过它可以让一个组件发出事件,而其他组件监听并响应这些事件
事件总线的创建
Vue3版本中,我们不再使用new Vue()来创建事件总线,而是通过mitt库,该库轻量且专注于事件总线功能。
npm install mitt
创建事件总线文件:
// src/EventBus.js
import mitt from 'mitt';
const emitter = mitt();
export default emitter;
发送事件
import EventBus from '@/utils/EventBus';
sendMessage() {
// 有时由于执行顺序的原因,可能需要考虑微任务宏任务问题,可用setTimeout解决
EventBus.emit('custom-event', { message: 'Hello' });
}
监听事件
import EventBus from '@/utils/EventBus';
// 接受方式1:
created() {
EventBus.on('custom-event', this.handleCustomEvent);
},
beforeUnmount() {
EventBus.off('custom-event', this.handleCustomEvent);
},
methods: {
handleCustomEvent(payload) {
this.receivedMessage = payload.message;
}
}
// 接受方式2:
onMounted(() => {
EventBus.on('custom-event', (message) => {
handleBlur(message)
});
});
分类:
vue相关 / vue3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2023-11-27 vue导入excel表格
2023-11-27 半圆形进度条(vue加强版)