tulip notes
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Star-Lord

希望一天成为大师的学徒
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

  • 组件

    • 组件基础
    • 组件的一些注意点
    • 组件之间的传值
    • 组件间的调用
    • 自定义事件
    • 全局事件总线
      • 作用
      • 安装与使用
        • 安装
        • 使用
      • 注意
    • Prop 验证 与 非 Prop 的 Attribute
    • 兄弟组件传值
    • 父组件调用子组件方法并传入值
    • 插槽slot
    • 动态组件与 v-once 指令
    • vue父子组件的生命周期顺序
  • 过渡&动画

  • 可复用性&组合

  • 工具

  • 规模化

  • Vuex

  • 其他

  • 《Vue》笔记
  • 组件
EffectTang
2023-09-21
目录

全局事件总线

# 全局事件总线

# 作用

在自定义事件一文中提到,组件之间的通信有多种方式,事件总线也是其中之一。它是在自定义事件的基础上,设计出来的一种结构。

如果有一个对象能被所有的vue组件实例所看见,且能能够调用$on、$emit、$off、等事件操作方法,那么就能够实现任意组件之间的通信。

实现:任何组件之间的通信

# 安装与使用

# 安装

在创建vue实例的main.js文件中,

new Vue({
	.....
	beforeCreate(){
		// 安装全局事件总线  在Vue的原型对象上放一个 $bus 属性且值对象为vue实例对象
  	// 这样一来每个VueComponent都包含一个 $bus 
		Vue.prototype.$bus = this 
	}
})
1
2
3
4
5
6
7
8

# 使用

组件A如果想接收数据,则在A组件中给$bus绑定自定义事件

methods(){
  demo(){
    .......
  }
}
mounted(){
  this.$bus.$on('handleMyEvent',this.demo)
}
1
2
3
4
5
6
7
8

其他组件如果需要传递数据,则只需要触发该自定义事件即可

methods(){
  handEvent(data..){
    this.$bus.$emit('handleMyEvent',data)
  }
}
1
2
3
4
5

# 注意

使用全局事件总线可以在应用程序的任何地方发布和接收事件,这使得在Vue应用程序中实现跨组件通信变得非常容易。但是,过度使用全局事件总线可能会导致代码难以管理和理解,因此建议在适当的情况下使用。

上次更新: 2025/04/23, 16:23:16
自定义事件
Prop 验证 与 非 Prop 的 Attribute

← 自定义事件 Prop 验证 与 非 Prop 的 Attribute→

最近更新
01
面向切面跟自定义注解的结合
05-22
02
时间跟其他数据的序列化
05-19
03
数据加密与安全
05-17
更多文章>
Theme by Vdoing | Copyright © 2023-2025 EffectTang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式