Bus Global de Eventos en Vue

Comunicación entre componentes en aplicaciones Vue puede complicarse cuando existen muchos componentes anidados; enviar una señal de un componente hijo a otro no relacionado sin propagar props o elevar demasiado el estado es un reto común.
En Vue 2 era habitual usar un bus global de eventos basado en los métodos $on, $emit y $off de las instancias de Vue, pero en Vue 3 esa API fue eliminada como parte de los cambios incompatibles. El motivo fue favorecer patrones de gestión de estado más predecibles y reducir dependencias ocultas entre componentes, por eso hoy conviene conocer alternativas modernas.
Una alternativa ligera y práctica es mitt, una pequeña librería de emisor de eventos que funciona perfectamente como bus global en Vue 3. Flujo recomendado: instalar mitt con npm install mitt; crear un archivo eventBus.js donde se inicializa un emisor con mitt y se exporta para usarlo en toda la aplicación; desde un componente emitir eventos con emitter.emit indicando el nombre del evento y un payload; en componentes que escuchan suscribirse con emitter.on durante el montaje y limpiar con emitter.off en el desmontado o usando onUnmounted para evitar fugas de memoria.
Ejemplo conceptual de uso: desde Componente A llamar a emitter.emit con un evento denominado custom-event y un objeto con datos; en Componente B registrar una función de manejo con emitter.on para custom-event durante onMounted y eliminarla en onUnmounted. Este patrón mantiene los componentes desacoplados y es ideal para comunicación ligera o prototipos rápidos.
Para aplicaciones más complejas o con mucho estado compartido es preferible usar una solución estructurada como Pinia, que ofrece una gestión de estado escalable y facilita trazabilidad y pruebas. En general: usar bus global para casos puntuales y comunicación simple; no abusar de eventos globales para no dificultar el depurado; preferir Pinia cuando exista estado compartido significativo; limpiar siempre los listeners para evitar memory leaks.
En Q2BSTUDIO desarrollamos soluciones profesionales a medida que incluyen integración de frontends modernos como Vue 3 junto con arquitecturas de backend robustas y servicios gestionados en la nube. Si necesita una aplicación a medida o software a medida podemos diseñar la mejor estrategia de comunicación entre componentes, elegir herramientas como mitt o Pinia y aplicar buenas prácticas de ingeniería.
Además ofrecemos servicios de inteligencia artificial, agentes IA y soluciones de ia para empresas, junto con servicios de ciberseguridad y pentesting, y despliegues en servicios cloud aws y azure. Podemos también integrar soluciones de servicios inteligencia de negocio y power bi para explotación de datos. Conoce nuestras capacidades en inteligencia artificial en Nuestros servicios de Inteligencia Artificial.
Resumen: Vue 3 eliminó el bus de eventos integrado, pero con librerías como mitt se puede recrear un bus global ligero y efectivo. Para proyectos que crezcan en complejidad, adoptar Pinia y patrones de gestión de estado es la opción más mantenible. En Q2BSTUDIO unimos experiencia en desarrollo de aplicaciones a medida, inteligencia artificial, ciberseguridad y servicios cloud para entregar soluciones completas y seguras.
Comentarios