组件与组件之间的传递-事件总线

news2024/11/24 6:42:07

两个组件之间的数据传递(属于非父子组件通讯)

当项目中只是两个组件的少量数据传递时使用事件总线这种方法会比较方便,但当遇到大量数据传递时推荐使用vuex


思路

组件与组件之间不能直接传递,这是候可以创建一个EventBus.js文件,让两个组件通过这个公用的文件进行传递,简单理解当成一个沟通的桥梁,称之为EventBus事件总线

流程图

详细代码

1.首先在src/components下创建两个组件BusA和BusB,局部注册

创建方法可阅读我此篇文章:

vue2中如何使用组件-操作详解-CSDN博客

App.vue

<template>
  <div>
    <BusA class="bk"></BusA>
    <BusB class="ke"></BusB>
  </div>
</template>
<script>
import BusA from "@/components/BusA.vue";
import BusB from "@/components/BusB.vue";
export default {
  components: {
    BusA,
    BusB,
  },
};
</script>
<style scoped>
.bk {
  width: 200px;
  height: 100px;
  margin-bottom: 20px;
  background-color: aqua;
  border: 1px solid red;
}
.ke {
  width: 200px;
  height: 100px;
  background-color: rgb(64, 230, 35);
  border: 1px solid red;
}
</style>

2.在src/utils/下新建EventBus.js文件

// 创建一个都能访问到的时间总线
import Vue from 'vue'
const Bue = new Vue()
export default Bue

3.接收方组件(BusA):

<template>
  <div>A组件 (接收方)
    <p>{{ data }}</p>
  </div>
</template>
<script>
import Bus from "@/utils/EventBus.js";
export default {
  created() {
    // 监听EventBus事件总线
    // Bus.$on('事件名',(收到的信息)=>{
    Bus.$on("send", (data) => {
      this.data=data
    });
  },
  data(){
    return{
      data:''
    }
  }
};
</script>

 4.发送方组件(BusB):

<template>
  <div>B组件 (发送方)
    <button @click="clickSend">发送给A组件</button>
  </div>
</template>
<script>
import Bus from "@/utils/EventBus.js";
export default {
 methods: {
    clickSend() {
      // Bus.$emit("A组件的事件名", "传递给接收方的数据");
      Bus.$emit("send", "我是B组件传递过来的数据");
    }
  }
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1588479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【火猫TV】Spirit.Collapse-不清楚队伍的问题出在哪里

1、近日Spirit战队三号位选手Collapse在精英联赛期间接受采访时表示&#xff1a;不清楚队伍目前的问题出在哪里&#xff0c;可能只是因为我们如今的状态和表现都不太好吧。转载&#xff1a;火猫TV资讯 【队伍目前的问题】 “我不是很清楚目前我们的问题出在哪里&#xff0c;可…

2024年,怎么开通一个属于自己的抖店?

我是王路飞。 抖店&#xff0c;依旧是普通人做抖音最好的渠道。 至于短视频直播带货&#xff0c;门槛较高&#xff0c;尤其是在当前的环境下&#xff0c;个人是很难竞争的过那些达人团队的。 不管是在门槛、操作、还是利润回报等方面&#xff0c;抖店都是一个不错的选择。 …

奎芯科技:智能时代的芯片上游企业如何突破?

半导体IP&#xff08;Intellectual Property&#xff0c;知识产权&#xff09;&#xff0c;通常也称作IP核&#xff08;IP core&#xff09;&#xff0c;指芯片设计中预先设计、验证好的功能模块&#xff0c;主要服务于芯片设计&#xff0c;因部分通用功能模块在芯片中被反复使…

五:函数基础:概念、基础语法、库函数与自定义函数

本章学习链接如下&#xff1a; 1.函数的概念 函数是执行特定任务的自包含代码块&#xff0c;它可以接受输入&#xff0c;处理输入&#xff0c;并产生输出。函数的使用提高了代码的重用性、模块性和可读性。C语言中的函数可以分为两大类&#xff1a;库函数和用户定义函数。 2.函…

为什么程序员老婆都很漂亮?网友:new出来的。。。

最近&#xff0c;我被一个问题吸引了&#xff0c;一网友提问&#xff1a;“为何程序员老婆都很漂亮&#xff1f;”哈哈&#xff0c;说到这个话题&#xff0c;我瞬间就不困了。 评论区的网友们也非常来劲儿。有位网友打趣说&#xff1a;“因为是自己用代码new出来的&#xff0c;…

换换换 码题集

难度:钻石 时间限制:1秒 占用内存:128M 输入 5 5 5 car van track dog cat 1 2 4 5 3 2 5 1 1 4 van car track dog cat 输出 5 3 2 4 1 原始思路&#xff1a;for循环&#xff0c;但会运行超时 #include<bits/stdc.h> using namespace std; int main(){int n,m,t;cin…

校园论坛系统

文章目录 校园论坛系统一、项目演示二、项目介绍三、10000字论文参考四、系统部分功能截图五、部分代码展示六、底部获取项目和10000字论文参考&#xff08;9.9&#xffe5;&#xff09; 校园论坛系统 一、项目演示 校园论坛系统 二、项目介绍 基于springbootvue的前后端分离…

网上一个叫阳哥的网红分享的人力RPO项目靠谱吗?

在抖音平台上&#xff0c;阳哥以其专业的知识和独到的见解&#xff0c;吸引了大量粉丝的关注。最近&#xff0c;他分享的人力RPO项目更是引起了广泛关注。那么&#xff0c;阳哥介绍的这个人力RPO项目到底靠不靠谱呢?本文将从四个方面进行分析和佐证。 首先&#xff0c;阳哥作为…

ARM/X86+FPGA轨道交通/工程车辆行业的解决方案

深圳推出首条无人驾驶地铁—深圳地铁20号线&#xff0c;可以说是深圳地铁的一次开创性的突破。智能交通不断突破的背后&#xff0c;需要很严格的硬件软件等控制系 统&#xff1b;地铁无人驾驶意味着信号系统、通信系统、综合监控系统、站台屏蔽门工程等项目必须严格执行验收。…

路由器端口映射是什么意思?

路由器端口映射是一种网络配置技术&#xff0c;在私有网络中允许外部网络访问特定的服务或应用程序。通过将路由器的端口映射到内部客户端设备&#xff0c;可以实现从公共网络访问内部网络资源的目的。 天联组网介绍 天联是一款异地组网内网穿透产品&#xff0c;由北京金万维科…

【全网最详细】如何保证缓存和数据库一致性

如何保证缓存和数据库一致性&#xff0c;这是一个老生常谈的话题了。 但很多人对这个问题&#xff0c;依旧有很多疑惑&#xff1a; 到底是更新缓存还是删缓存&#xff1f;到底选择先更新数据库&#xff0c;再删除缓存&#xff0c;还是先删除缓存&#xff0c;再更新数据库&…

【灵境矩阵】零代码创建AI智能体之行业词句助手

欢迎来到《小5讲堂》 这是《灵境矩阵》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 创建智能体选择创建方式零代码 基础配置头像名称简介指令开场白…

【Vue3进阶】- 第2学堂小商城项目后端准备和接口文档

简介 在大多数前端项目开发中&#xff0c;都需要与后端进行接口交互&#xff0c;后端通常会以文档的形式提供接口信息&#xff0c;前端开发者通过阅读这些文档&#xff0c;了解后端接口的功能和使用方法&#xff0c;从而实现数据的获取和提交等功能。 第二学堂小商城教程后端…

Vue3 之 JsBarcode打印条形码

一、前情提要 1. 需求 根据商品sku打印出条形码&#xff0c;贴在商品盒上 2. 效果 二、使用前准备 1. 下载 JsBarcode npm install jsbarcode --save 2. 配置项 3. 封装 import jsbarcode from jsbarcodeexport default function renderBarcode(el: HTMLElement, value: s…

洛谷【入门2】分支结构——python题解

洛谷【入门2】分支结构——python题解 【深基1-2】小学数学 N 合一题目描述问题 1问题 2问题 3问题 4问题 5问题 6问题 7问题 8问题 9问题 10问题 11问题 12问题 13问题 14 输入格式输出格式样例 #1样例输入 #1样例输出 #1 【深基2.习6】Apples Prologue / 苹果和虫子题目描述输…

即插即用模块之DO-Conv(深度过度参数化卷积层)详解

目录 一、摘要 二、核心创新点 三、代码详解 四、实验结果 4.1Image Classification 4.2Semantic Segmentation 4.3Object Detection 五、总结 论文&#xff1a;DOConv论文 代码&#xff1a;DOConv代码 一、摘要 卷积层是卷积神经网络(cnn)的核心组成部分。在本文中…

外贸开发信必知技巧:高回复率不再是梦

外贸行业在Zoho的客户群体中占比较高。因为我们的国际化背景、丰富的产品组合、多语言多币种跨时区、高性价比等特点&#xff0c;成为外贸企业开展业务的选择。在和外贸客户沟通中&#xff0c;发现无论是外贸大拿还是新手小白&#xff0c;大家遇到一个共同的问题——发出去的开…

动态规划在矩阵链乘法中的应用:寻找最优括号化方案

动态规划在矩阵链乘法中的应用&#xff1a;寻找最优括号化方案 一、问题描述二、动态规划的基本概念三、矩阵链乘法问题的动态规划解法四、伪代码五、C语言代码示例六、计算括号化方案的数量七、结论 计算括号化方案的数量问题是计算机科学中的一个经典问题&#xff0c;它涉及到…

K8S node节点执行kubectl get pods报错

第一个问题是由第二个问题产生的&#xff0c;第二个问题也是最常见的 网上找的都是从master节点把文件复制过来&#xff0c;这样确实可以解决&#xff0c;但是麻烦&#xff0c;有一个node节点还好&#xff0c;如果有多个呢&#xff1f;每个都复制吗&#xff1f;下面是我从外网…

为什么要“挺”鸿蒙?

鸿蒙到底是什么&#xff1f; 随着5G、物联网等技术的快速发展&#xff0c;智能终端设备的应用场景也越来越广泛。为了满足不同设备间的互联互通需求&#xff0c;华为在2019年推出了自主研发的操作系统——鸿蒙OS。值得关注的是&#xff0c;这也是首款国产操作系统。 要了解鸿…