全局事件总线挂载在哪里?
全局事件总线的注册和调用逻辑图
源码
[vu_vue中全局事件总线的标准实现 - 快捷方式.lnk](..\ab_code\vu_vue中全局事件总线的标准实现 - 快捷方式.lnk)
代码图
的理解
为什么全局事件管理器本质上是个组件?
源码
[vu_vue中全局事件总线的两种方式的对比 - 快捷方式.lnk](..\ab_code\vu_vue中全局事件总线的两种方式的对比 - 快捷方式.lnk)
注册BusComponent组件,然后添加到Vue的原型对象中?
-
其实这个全局事件总线管理器,本质上也是个组件,只是没有在vm里面注册
-
为什么我们需要这个总线管理器,也得是个组件呢?
- 因为我们得要访问Vue原型对象中的方法,比如说
$on
,$emit
的方法 - 也就是我们需要通过原型链
能够访问到这个Vue的原型对象
- 因为我们得要访问Vue原型对象中的方法,比如说
原理图
代码图
直接使用vm实例,将其添加到Vue的原型对象中
- 上面的方法虽然实现全局总线的添加,也是很是麻烦,还得新弄一个BusComponent()构造函数
- 能不能有更加简便的方法呢?
- 我们发现这个vm实例的
__proto__
也是指向这个Vue的原型对象,能不能直接把放进去
原理图
代码图
对比输出
- 其实实现的效果是一样的
- 另外这个Vue()和VueComponent()几乎是一样,只有小小的差别
- Vue()一般是使用来创建vm实例,可以理解成创建根组件Root组件
- VueComponent()用来创建普通的组件,也就是vc组件,
- 所以说,从某种程度上来说,不论是根组件还是普通组件,本质上都是组件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!