25-非父子通信 - event bus 事件总线

作用:非父子组件之间,进行简易消息传递。(复杂场景 -> Vuex)

1.创建一个都能访问到的事件总线(空 Vue 实例) -> utils/EventBus.js

javascript 复制代码
import Vue from 'vue'
const Bus = new Vue()
export default Bus

2. A组件(接收方),监听 Bus实例 的事件(支持多个组件同时监听)

javascript 复制代码
created () {
    Bus.$on('sendMsg',(msg) => {
        this.msg = msg
    })
}

3. B组件(发送方),触发 Bus实例 的事件

javascript 复制代码
Bus.$emit('sendMsg', '这是一个消息')

代码示例:

(1). src / utils / EventBus.js 创建事件总线

javascript 复制代码
// 1.创建一个都能访问到的事件总线 (空的 Vue 实例)
import Vue from 'vue'

const Bus = new Vue()

export default Bus

(2). 创建发送者和接受者组件

(3). App.vue 引入渲染

html 复制代码
<template>
  <div id="app">
    <BaseA></BaseA>
    <BaseB></BaseB>
  </div>
</template>

<script>

import BaseA from './components/BaseA.vue'
import BaseB from './components/BaseB.vue'


export default {

  components: {
   BaseA,
   BaseB
    
  }

}

</script>
<style></style>
相关推荐
计算机学姐18 分钟前
基于微信小程序的民宿预订管理系统
java·vue.js·spring boot·后端·mysql·微信小程序·小程序
Swift社区1 小时前
统计文本文件中单词频率的 Swift 与 Bash 实现详解
vue.js·leetcode·机器学习
Zero_pl3 小时前
vue学习路线
vue.js
2013crazy3 小时前
Java 基于 SpringBoot+Vue 的校园兼职平台(附源码、部署、文档)
java·vue.js·spring boot·兼职平台·校园兼职·兼职发布平台
又迷茫了3 小时前
vue + element-ui 组件样式缺失导致没有效果
前端·javascript·vue.js
爱上大树的小猪4 小时前
【前端SEO】使用Vue.js + Nuxt 框架构建服务端渲染 (SSR) 应用满足SEO需求
前端·javascript·vue.js
热忱11285 小时前
elementUI Table组件实现表头吸顶效果
前端·vue.js·elementui
大叔_爱编程6 小时前
wx035基于springboot+vue+uniapp的校园二手交易小程序
vue.js·spring boot·小程序·uni-app·毕业设计·源码·课程设计
zhaocarbon6 小时前
VUE elTree 无子级 隐藏展开图标
前端·javascript·vue.js
匹马夕阳8 小时前
Vue 3中导航守卫(Navigation Guard)结合Axios实现token认证机制
前端·javascript·vue.js