事件总线使用

devtools/2024/9/24 12:28:53/

创建一个eventBus.js

javascript">import { reactive } from 'vue'// 创建一个响应式的事件对象用于存储事件处理器
const eventBus = reactive({})// 添加事件监听器的函数
function on(eventName, handler) {if (!eventBus[eventName]) {eventBus[eventName] = []}eventBus[eventName].push(handler)
}// 触发事件的函数
function emit(eventName, ...args) {console.log('eventBusEmit', eventName)const handlers = eventBus[eventName]if (handlers) {handlers.forEach((handler) => handler(...args))}
}// 移除事件监听器的函数(可选)
function off(eventName, handler) {if (eventBus[eventName]) {eventBus[eventName] = eventBus[eventName].filter((h) => h !== handler)}
}export default {on,emit,off
}

发送事件

javascript">import eventBus from '@/utils/eventBus'
eventBus.emit('globalMessageBoxShow')

监听事件

javascript">eventBus.on('globalMessageBoxShow', () => {})

http://www.ppmy.cn/devtools/58096.html

相关文章

常见的设计模式

单例/工厂比较常见,不写了 1. 原型模式(Prototype Pattern) 定义:通过复制现有对象来创建新对象的一种方式,而不是通过实例化类。 适用场景: 当一个系统应该独立于它的产品创建、构成和表示时。要避免重…

虚拟机使用

1、安装 如何安装虚拟机?保姆级安装教程! - 知乎 (zhihu.com) 2、使用 2.1 快照 作用:保留当前系统信息为快照,随时可以恢复,以防未来系统被你玩坏,就好比游戏中的归档!每配置好一个就可以保…

Android与Java后端联调RSA加密的注意事项

项目中常常会遇到Android前端使用后端提供的公钥加密数据的场景。需要注意Java后端的java.util.Base64默认Base64标准和Android的android.util.Base64是不一样的。 此外,RSA算法标准也需要前后端显式约定。 示例代码: import android.util.Base64;impo…

Linux系统安装软件包的方法rpm和yum详解

起因: 本篇文章是记录学习Centos7的历程 关于rpm 常见命令 1)查看已经安装的软件包 rpm -q 软件包名 2)查看文件的相关信息 rpm -qi 软件包名 3)查看软件包的依赖关系 就是说要想安装这个软件包,就必须把一些前…

【AutoencoderKL】基于stable-diffusion-v1.4的vae对图像重构

模型地址:https://huggingface.co/CompVis/stable-diffusion-v1-4/tree/main/vae 主要参考:Using-Stable-Diffusion-VAE-to-encode-satellite-images sd1.4 vae 下载到本地 from diffusers import AutoencoderKL from PIL import Image import torch import to…

如何清理电脑内存?让电脑运行如飞!

电脑内存(RAM)的清理对于维持系统的流畅运行至关重要。随着使用时间的增加,系统内存会被各种应用程序和后台进程占用,导致系统响应变慢,甚至出现卡顿现象。通过有效地清理内存,可以提升电脑的性能&#xff…

从nginx返回404来看http1.0和http1.1的区别

序言 什么样的人可以称之为有智慧的人呢?如果下一个定义,你会如何来定义? 所谓智慧,就是能区分自己能改变的部分,自己无法改变的部分,努力去做自己能改变的,而不要天天想着那些无法改变的东西&a…

【深度学习】pytorch训练中的一个大坑

使用的命令:iostat -x 5 可以看到 ssd的利用率已经满了。 之前在的数据集放在了 hdd上,训练结果特别慢。 所以我把它移动到了ssd上,然后训练参数用的 resume, 但是!!!!它把历史记住…