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

EventEmitter3在vue中的使用

前提

vue中的组件传递方式有很多,包括父子组件之间的传值(props,emit)、事件总线($ bus)、状态管理模式(vuex,pinia),现在推荐一种可以替代$bus的一种传值方式——eventemitter3


安装

npm i eventemitter3 --save 

使用

在utils目录下新增 event.js文件
event.js

import EventEmitter from 'eventemitter3'export default new EventEmitter()

在需要传递消息的组件中使用
**.vue

...
import event from '@/mixins/event.js'...
created () {event.emit('getList', 'hello world')
},
destoryed () {event.removeListener('getList');
}

注:在页面进行跳转的时候,要进行事件的解绑

在接收的组件中使用
**.vue

...
import event from '@/mixins/event.js'...
created () {event.on('GetTitle', (e) => {console.log('-------------------', e)})
}

总结

eventBus和EventEmiiter的区别

eventBus 的使用范围更加广泛,可以跨越不同组件和模块之间进行信息通信传递,它是一个全局概念的事件总线。通常作为一个单例对象存在,因此往往需要创建一个中央管理器的实例
EventEmitter 是一个基于类的模块,用于在单个组件或模块内部实现事件的发布和订阅。所以它可以在需要的地方创建实例对象,并将其用于内部事件的发布和订阅

http://www.lryc.cn/news/232391.html

相关文章:

  • 双剑合璧:基于Elasticsearch的两路召回语义检索系统,实现关键字与语义的高效精准匹配
  • LeetCode34-34. 在排序数组中查找元素的第一个和最后一个位置
  • ddrnet 分割学习笔记
  • Outlook关闭过去事件的提醒
  • git 简单入门
  • 只有开源才能拯救AI
  • 在Spring Boot中使用进程内缓存和Cache注解
  • YOLOv5项目实战(3)— 如何批量命名数据集中的图片
  • React + hooks + Ts 实现将后端响应的文件流(如Pdf)输出到浏览器下载
  • 大数据基础设施搭建 - JDK
  • 从0到0.01入门React | 010.精选 React 面试题
  • Docker启动SRS流媒体服务器
  • php+MySQL防止sql注入
  • git 删除远程非主分支
  • 【MySQL学习】C++外部调用
  • Backblaze 2023 Q3硬盘故障质量报告解读
  • docker安装elasticsearch,elasticsearch-head
  • rabbitmq 集群搭建
  • 【云原生-Kurbernets篇】Kurbernets集群的调度策略
  • Unity中Shader矩阵的乘法
  • C++ STL简介
  • 如何优雅的使用contorller层
  • 发现区块链世界的新大门——AppBag.io DApp导航网站全面解析
  • C#多线程Thread、Task
  • Qt QWebSocket实现JS调用C++
  • Android Matrix的使用详解(通过矩阵获取到图片缩放比例和角度)
  • 【Spring】bean的生命周期
  • C#运算符重载
  • 【L2GD】: 无环局部梯度下降
  • 2023-11-14 LeetCode每日一题(阈值距离内邻居最少的城市)