当前位置: 首页 > ai >正文

Vue事件总线

下面,我们来系统的梳理关于 Vue 事件总线模式 的基本知识点

一、事件总线核心概念

1.1 什么是事件总线?

事件总线是一种发布-订阅模式的实现,用于在Vue组件之间进行通信,特别适合处理非父子关系的组件间通信。它充当一个中央事件处理中心,组件可以触发事件或监听事件,而不需要直接引用彼此。

1.2 事件总线原理

发布事件
通知订阅者
通知订阅者
发布事件
组件A
事件总线
组件B
组件C
组件D

1.3 适用场景

  • 非父子组件通信:兄弟组件、跨层级组件
  • 全局事件通知:用户登录/登出、全局错误处理
  • 解耦组件:避免组件间直接依赖
  • 简单状态变更:不需要复杂状态管理的场景

二、事件总线实现方案

2.1 Vue 2 实现

// event-bus.js
import Vue from 'vue'
export const EventBus = new Vue()// 或全局挂载
Vue.prototype.$eventBus = new Vue()

2.2 Vue 3 实现(推荐)

// event-bus.js
import mitt from 'mitt'// 创建事件总线实例
const emitter = mitt()// 添加高级功能
export const EventBus = {emit: emitter.emit,on: emitter.on,off: emitter.off,// 添加一次性事件监听once(event, handler) {const wrapper = (payload) => {handler(payload)this.off(event, wrapper)}this.on(event, wrapper)},// 添加带命名空间的事件namespacedEmit(namespace, event, payload) {this.emit(`${namespace}:${event}`, payload)},namespacedOn(namespace, event, handler) {this.on(`${namespace}:${event}
http://www.xdnf.cn/news/12246.html

相关文章:

  • MyBatis 查询功能实现全流程
  • 《操盘实战》速读笔记
  • 使用Hutool工具进行rsa加密解密示例:
  • Linux进程替换以及exec六大函数运用
  • 【电赛培训课】测量与信号类赛题分析
  • Power Apps:自动发送运行错误邮件
  • 图着色问题(回溯)
  • Redux:不可变数据与纯函数的艺术
  • Windows和Ubuntu双系统,删除Windows
  • 用WPDRRC模型,构建企业安全防线
  • 使用Java实现M3U8视频文件合并的完整指南
  • openGauss数据库备份与恢复实践
  • 口语考试准备part1(西电)
  • Python制作史莱姆桌面宠物!可爱的
  • Apollo Auto:Cyber RT 与 ROS 通信
  • 攻防世界RE-happyctf
  • 对话式AI文本转语音合成软件CSM整合包,Sesame AI Labs多人文字转语音工具
  • CUDA安装与多版本管理
  • 算法训练第九天
  • 无法下载CUDA,下载界面链接打开异常
  • 永磁同步电机无感观测器与在线参数识别分别是什么,区别与联系是什么
  • [科研理论]机器人路径规划算法总结及fast_planner经典算法解读
  • Python6.5打卡(day37)
  • HSL颜色控制及使用示例(Hue-Saturation-Lightness)
  • 整合swagger,以及Knife4j优化界面
  • 【机械视觉】Halcon—【七、blob阈值分割】
  • nginx 同时支持ipv4与ipv6 配置
  • SLG游戏分析
  • Seata 分布式事务 AT 模式
  • IP如何挑?2025年海外专线IP如何购买?