前言

我们都知道在 Vue 中父子组件通信使用 props$emit,兄弟组件或者跨组件之间可以通过 VuexEventBus ,包括 $parent$root$refs 都是可以达到通信的目的,总之 Vue 组件之间的通信方式非常丰富。

今天的主角是EventBus ,那么先谈谈我对它的理解。

EventBus 之所以能实现全局跨组件通信首先因为它是一个全局对象,可以通过挂在 windowVue.prototype 上,并且能通过触发事件传参来实现数据的传递。

在小型项目(二三十个页面)中使用起来还是比较友好的,比起 Vuex 要来的简单粗暴一点。因为 Vuex 需要建立 mutationsactions ,某些逻辑交互甚至需要借助 computed + watch 来实现,这在小项目中显得比较臃肿。

在大型项目(几百个页面)中使用 EventBus 不是不行,就是这里面水很深,很难把握的住……

EventBus 的缺点就是 Vuex 的优点,缺乏 状态管理 。试想一下我们在看一段代码时,看到 $emit('someEvent')$on('someEvent')后想要知道它分别在哪里被监听,在哪里被触发,然后全局一搜竟然有几十处,这……

Vue3 移除了 EventBus,嗯。。。要不写一个?相关推荐

  1. vue3使用vite+setup+ts写一个初级前端项目

    Vue3vite+setup+ts项目总结 项目说明 项目概述 本项目纯粹是为了学习和巩固刚学的vue3组合式api和语法糖,再加上网上流行vite+ts+vue,所以便有了这个历时四天的vue3前端 ...

  2. 【vite+vue3.0】基于vite写一个将md文件渲染为js文件的插件

    基于vite写一个将md文件渲染为js文件的插件 前言 尤大是这么描述 Vite 的: 「一个基于浏览器原生 ES imports 的开发服务器. 利用浏览器去解析 imports,在服务器端按需编译 ...

  3. 【React组件】写一个模仿蓝湖的图片查看器

    前言 最近公司让写一个可以自由拖拽放大的图片查看器,我寻思这还不简单,一顿操作猛如虎,俩小时后: 事实证明,一旦涉及到 DOM 的变换操作,如果很多细节考虑不全,抓过来就写,那基本就凉了.于是我仔细分 ...

  4. 从零开始写一个武侠冒险游戏-3-地图生成

    2019独角兽企业重金招聘Python工程师标准>>> 从零开始写一个武侠冒险游戏-3-地图生成 概述 前面两章我们设计了角色的状态, 绘制出了角色, 并且赋予角色动作, 现在是时候 ...

  5. 使用IntentService给自己的Android应用写一个文件下载器。

    接着上一篇的http://www.cnblogs.com/zhengxt/p/3657833.html,当我们想给自己的APP写一个文件下载器时,可以用重写IntentService来实现. 使用In ...

  6. python写一个表白程序-用Python写一个表白神器让你脱单

    原标题:用Python写一个表白神器让你脱单 来自公众号:Python编程时光 今天是什么节日,就不用小明说了吧? 有女朋友的,该准备的礼物买了吗? 没有对象的,表白的套路学会了吗? 还没有?好吧,你 ...

  7. python写游戏脚本-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  8. python编程小游戏-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  9. 硬核!手写一个优先队列

    文章收录在首发公众号:bigsai 期待你的到访! 前言 事情还要从一个故事讲起: 对于上面那只可爱的小狗狗不会,本篇即为该教程,首先,我要告诉这只可爱的小狗狗,这种问题你要使用的数据结构为优先队列, ...

最新文章

  1. python数据结构与算法:双向链表
  2. 2022 年营销自动化七大趋势前瞻
  3. Java 集合 之 房屋出租实例
  4. 银行营业网点管理系统——Servlet包(CityAreaServlet )
  5. 关于dlg和pro的问题
  6. Sentinel流控规则持久化
  7. 在asp.net中调用process.start执行程序
  8. java 跨域上传_java后台图片跨域上传图片 文件
  9. 解析xml_Mybatis中mapper的xml解析详解
  10. dom4j.jar有什么作用?
  11. MySQL建表时Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP
  12. python学习--面向过程程序设计实例
  13. matlab编写全置信度函数,Matlab_curve_fitting_tool的用法图文结合
  14. CSS 改变文本选中颜色
  15. 朗文3000词汇表带音标_牛津3000词汇表
  16. 使用redis+切面完成分布式锁
  17. python-计算字符个数
  18. 线性代数学习笔记4-1:线性方程组的数学和几何意义、零空间/解空间/核
  19. 面试官:什么是虚拟DOM?如何实现一个虚拟DOM?
  20. 搭建L2TP-***

热门文章

  1. python 安装包、基础学习资料、代码应用示例
  2. 优秀员工内推机制设定方案
  3. 什么是供应链的本质?
  4. 百度云获取下载链接代码。
  5. mSystems:南土所禇海燕综述微生物生物地理学(视频)
  6. 记一篇IT培训日记013-海燕
  7. element ui rules校验记录,方便后续使用
  8. 专访白峰:谈GPS现状、工业级应用挑战与实践
  9. 计算机基础-计算机性能如何定量评估
  10. DOS命令的返回值“errorlevel”和基础DOS命令小结