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

Vue全局事件总线实现任意组件间通信

一、安装全局事件总线

全局事件总线就像是一个工具,专门用于挂载自定义事件和。

想要所有的组件都能使用这个全局事件总线,就只有在Vue的原型身上添加一个能够绑定自定义事件的属性。

所以我们在创建Vue实例对象的时候就可以添加如下代码:

Vue.prototype.$bus = this;

这段代码一定要在beforeCreate 生命周期函数中进行!

因为在vm创建过后所有的组件都已经创建完成,再添加事件总线的时候已经晚了。

在vm创建之前还没有vm,this不是指向vm的。

二、使用全局事件总线

我们用Students组件向School组件传递name属性为例子:

定义自定义事件依旧是使用的$on, 触发自定义事件使用$emit

对自定义事件不了解可以看这篇文章:Vue组件自定义事件实现子组件给父组件传递数据-CSDN博客

 

三、解绑全局事件总线

当一个全局事件中的自定义事件不再使用时,我们最好在beforeDestroy生命周期函数中使用$off() 对事件进行解绑。

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

相关文章:

  • linux-tools-$(uname -r) linux-headers-$(uname -r)工具安装:
  • hive sql,年月日 时分秒格式的数据,以15分钟为时间段,找出每一条数据所在时间段的上下界限时间值(15分钟分区)
  • C#学习系列之继承
  • PyTorch入门学习(六):神经网络的基本骨架使用
  • “体检报告健康解读技术传承人”授牌仪式圆满结束
  • 查询计算机GUID码
  • MediaPlayer+TextureView实现视频播放功能
  • webpack 优化
  • 保障 Golang 项目安全的最佳实践
  • PG物理备份与恢复之pg_basebackup
  • npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
  • Android 13.0 通过驱动实现禁用usb鼠标和usb键盘功能
  • Ubuntu 22.04配置/etc/rc.local开机自启文件
  • python爬虫之正则表达式解析实战
  • 什么是虚拟dom?
  • 大数据学习(18)-任务并行度优化
  • C++学习笔记之四(标准库、标准模板库、vector类)
  • IDEA部署SSM项目mysql数据库MAVEN项目部署教程
  • uniapp 将流转化为视频并播放 微信小程序
  • 【软考】系统集成项目管理工程师(十)项目质量管理【3分】
  • 七层负载均衡 HAproxy
  • SQL SELECT TOP, LIMIT, ROWNUM
  • vue3-admin-element框架登录如何修改?
  • 基于mysql的请假系统,java/springboot/jsp/javaweb/tomcat
  • 【Python机器学习】零基础掌握partial_dependence检验、检查
  • 前端Vue页面中如何展示本地图片
  • 基于PHP的图像分享社交平台
  • 【算法|动态规划No.31 | 01背包问题】01背包模板题
  • Azure - 机器学习:使用 Apache Spark 进行交互式数据整理
  • 4.5 final修饰符