vue 2 使用Bus.js进行兄弟(非父子)组件通信 简单案例

Vue 全局引入bus实现兄弟组件通信 简述 本文是一篇记录vue使用技巧的简短文章,该文记录的是vue中兄弟组件间通信的方式,之前经历了第一个vue app项目,也是想积淀一下,之前是在项目中是在需要的vue中对bus进行引入,对于这类常见的工具最好提倡是全局引入进行一定的封装。 局部使用案例 bus.js import Vue from 'vue' export const Bus = new Vue(); 接收总线通知 imp... 阅读详情

vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。如何实现非父子组件间的通信,可以通过实例一个vue实例Bus作为媒介,要相互通信的兄弟组件之中,都引入Bus,之后通过分别调用Bus事件触发和监听来实现组件之间的通信和参数传递。

 

首先需要在任意地方添加一个bus.js

 

在bus.js里面 写入下面信息

1 import Vue from 'vue'
2 export default new Vue;

 

 

 在需要通信的组件都引入Bus.js    

如果你的bus.js是自定义一个bus的文件那from后面就改成你的所放的位置

1 import Bus from './bus.js'

 

 

 

 接下来就是要组件通信了

 添加一个 触发 #emit的事件按钮

复制代码
<template>
    <div id="emit">
        <button @click="bus">按钮</button>
    </div>
</template>

import Bus from './bus.js'
export default {
data() {
return {
message: ''"
}
},
export default {
methods: { bus () { Bus.$emit('msg', '我要传给兄弟组件们,你收到没有') } }
}
}
复制代码

 

 

 

打开要和$emit通信的另外一个组件  添加

 在钩子函数中监听msg事件

复制代码
<template>
    <div id="on">
            <p>{{message}}</p>
    </div>
</template>

import Bus from './bus.js'
export default {
    data() {
      return {
        message:  ''"
      }
    },
    mounted() {
       Bus.$on('msg', (e) => {
         this.message = msg
       })
     }
   }
复制代码

 

 

最后p会显示来自$emit传来的信息

Vue 组件通信,兄弟组件、父子、祖孙组件,非组件之间通信有哪些及注意点、区别—— 2025最新总结 阅读详情

相关推荐

快速谱峭度算法解析

最近一直在研究振动信号的最优解调带宽寻找方法,而快速谱峭度算法是最常见的一种,因此本篇文章准备对该算法做个深入解析,也相当于自己的学习记录了。本篇文章对快速谱峭度算法做了一个较为详细的介绍,实际上就是通过多组滤波器将信号分解到不同的频段,再计算每个频段的峭度,从而找到值最大的频段,进一步地我们也可以选取其他指标作为频段的选择,以便更好地找到振动信号中的故障信息。

qq1234534215的博客 2743

vue2全局引入 $bus

main.js全局引入。

wangjianghao1017的博客 306

Code Composer Studio 12.0.0版本 官方例程导入实战指南

本文详细介绍了在Code Composer Studio 12.0.0版本中,如何利用内置的Resource Explorer工具高效导入官方例程的完整实战指南。通过分步讲解定位开发板、导入工程、配置编译器及调试验证等关键操作,帮助开发者快速上手TI微控制器开发,避免常见错误,有效提升学习与开发效率。

weixin_29169899的博客 123

vue3和vue2中bus的使用

vue3和vue2中bus的使用 说明:为了解决组件间的通信,也就是组件与组件间的数据传递(它们之间毫无关系);这里以组件1传递数据到组件2为例。1.首先新建一个Bus.js文件。

kanno的博客 2554

STM32G0定时器中断实战:HAL库配置TIM2实现精准1秒LED闪烁(附完整代码)

本文深入解析了STM32G0系列微控制器中定时器中断的配置与应用,重点介绍了如何使用HAL库配置TIM2实现精准的1秒LED闪烁。通过详细讲解时钟树分析、预分频系数与自动重装载寄存器的计算原理,并结合CubeMX图形化配置与完整代码示例,帮助开发者从底层理解定时器工作机制,掌握可复用的工程化配置方法。

weixin_29194817的博客 253

【论文精读】Latent Diffusion

Latent Diffusion

weixin_44934783的博客 4478

Vue2中使用事件总线

在Vue2中事件总线作为一种轻量级的解决方案(不增加额外依赖,直接使用Vue内置功能)可以实现跨组件通信,具有简单易用、灵活性强(可以传递任何类型的数据、支持一对多的通信模式)和实时性(事件触发后立即通知所有监听者)特点。在Vue3中已删除$on、$off和$once方法,这些方法主要用于 Vue 2.x 中基于 Options API 的事件监听。推荐使用mitt,mitt是一个轻量级的事件库,适用于全局事件通信。

漓涂 667

Qt界面编程(三)—— 父子关系、对象树、信号和槽(自定义信号和槽、Qt5与Qt4的写法)

Qt框架默认提供的标准信号和槽不足以完成我们日常应用开发的需求,比如说点击某个按钮让另一个按钮的文字改变,这时候标准信号和槽就没有提供这样的函数。但是Qt信号和槽机制提供了允许我们自己设计自己的信号和槽。声明在类的signals域下没有返回值,void类型的函数只有函数声明,没有定义可以有参数,可以重载通过emit关键字来触发信号,形式:emit object->sig(参数);

此心光明事上练的博客 1695

vue2全局事件总线如何使用($bus)

Vue.prototype.$bus = this //安装全局事件总线,bus就是当前应用的vm。1.接收数据:A组件想接收数据,则在A组件中给$bus绑定自定义事件,事件的回调留在A组件自身。4.最好在beforeDestroy钩子中,用$off去解绑当前组件所用到的事件。2.提供数据: this.$bus.$emit('xxxx',数据)1.一种组件间通信的方式,适用于任意组件间通信。

weixin_67002441的博客 1167

Linux8.3上装Oracle 19c RAC,ssh互信总报INS-06006?别急着下补丁,试试这个临时替换scp的骚操作

本文针对在Linux 8.3上安装Oracle 19c RAC时遇到的SSH互信报错INS-06006问题,提供了一个无需官方补丁的临时解决方案。通过创建SCP包装脚本并添加-T参数,有效解决了OpenSSH 8.x版本与Oracle安装程序的兼容性问题,帮助用户顺利完成安装流程。

weixin_30764883的博客 403

基于高光谱的物质反演与分类 — 技术文章(原理详解 + 深度代码实现)

高光谱遥感 / 近场光谱采集产生逐像素上百波段的光谱曲线,是物质识别与定量反演(abundance / composition estimation)和语义分类(landcover / material class)的一把利器。本文第一部分对常用模型(线性混合模型、非线性辐射传输、稀疏反演、降维与特征选择、分类器/神经网络)进行数学推导与理论分析;第二部分给出两套完整实现:A. 基于 LMM 的约束最小二乘 / 稀疏反演流水线(含端到端评估);

VectorShift的博客 221

vue 2 使用 Bus.js 实现兄弟 (非父子) 组件通信 简单案例

vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。如何实现非父子组件间的通信,可以通过实例一个vue实例Bus作为媒介,要相互通信的兄弟组件之中,都引入Bus,之后通过分别调用Bus事件触发和监听来实现组件之间的通信和参数传递。 首先需要在任意地方添加一个bus.js 在bus.js里面 写入下面信息 impor...

愿我如星君如月 ... 夜夜流光相皎洁 ... 706

AI自瞄原理剖析(四)从Yolo推理坐标到屏幕坐标:基于FOV视角与焦距的坐标变换与精准瞄准

从Yolo推理框架得到的坐标到屏幕坐标的转换是一个涉及到FOV视角、焦距以及分辨率的复杂过程。通过数学公式,我们可以将推理框坐标反推为游戏内的实际坐标,并最终映射到屏幕坐标系中。利用这些信息,AI自瞄系统能够精确计算出准星从当前位置移动到敌人位置的距离,实现精准的自动瞄准。通过这种方法,AI自瞄系统能够在不同的游戏环境下灵活应对,提供高度精确的操作体验。在AI自瞄系统中,目标检测仅仅是第一步,获取到预测框的坐标后,我们还需要将这些坐标转换为实际屏幕上的精确位置。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1334

vue组件之间的通信 vue-bus和vuex

前言.父子组件之间的通信vue提供了更直接的方式,此处不细说,不会的可以去官网研读文档。但是官方没有提供直接的方法用于兄弟组件之间的传值以及相关的逻辑处理。因此就有了vue-bus和vuex.vue-bus可用于不是特别复杂的项目中任意组件的传值问题。vuex不仅能实现组件之间通信的问题还提供了相应的逻辑处理方法。但是也更为庞大,所以一般简单的传值问题可用于vue-bus解决 1.vue-bu官网...

lyc2786161648的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Vue 2 与 Vue 3 中父子组件及兄弟组件的通信方式

Vue.js 组件通信方式总结 本文详细介绍了 Vue 2 和 Vue 3 中父子组件及兄弟组件的通信方式: 父子组件通信 父传子: 使用 props 传递数据(单向数据流) Vue 2/Vue 3 实现方式基本一致 子传父: 使用 $emit 触发事件 通过 ref 直接访问子组件实例 两种框架实现方式相似 兄弟组件通信 通过父组件中转(使用 props + $emit) 使用 Event Bus(Vue 2 通过 Vue 实例,Vue 3 需引入 mitt 等库) 使用 Vuex/Pinia 状态管理(

你若盛开,清风自来 1940

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Vue 25 ,⭐Vue2兄弟组件传值,Vue2兄弟组件通讯的两种方式,详细过程( Vue2同级别组件传值通讯,Vue2兄弟组件通讯传值常用 )

⭐在 Vue.JS 中,兄弟组件之间的通信由于缺乏直接的父子关系而变得相对复杂。然而,Vue提供了多种机制来实现这种同级组件间的有效数据共享与通信。Vue2常见的方法包括使用事件总线(Event Bus)或 Vuex 状态管理库,这些方案能够帮助我们轻松地在没有直接关联的组件之间传递信息和状态,确保应用逻辑的一致性和可维护性。兄弟组件,就是同级别的组件。

AI Agent 全栈架构师(AI + GIS + Backend)& 数字芯片系统架构师(FPGA),NorthCity Smile的博客(NcSmile,博主域名:https://ncmile.blog.youkuaiyun.com) 9881

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

vue2组件通信详解(父传子,子传父,vuex,兄弟bus,$attrs,$listeners,插槽,$refs)

这样,父组件就可以将数据传递给子组件中的插槽内容,并在子组件中使用这些数据进行渲染。使用作用域插槽,父组件可以将数据绑定到一个特殊的属性上(通常是v-slot或#),并在父组件中将需要插入到子组件中的内容放在一个标签中。然后,父组件在模板中引用这个名称,将父组件中的内容插入到子组件的对应插槽中。在上面的示例中,父组件将一个名为"myProp"的prop传递给子组件,并将一个名为"class"的额外属性传递给子组件。attrs不同,$listeners中的监听器是在父组件中定义的,而不是在模板中定义的。

qq_45973155的博客 2153

Vue---兄弟组件通信(三种方式) vue bus

第一种:eventBus 新建一个js文件, 我这里叫做 bus.js; 文件内容: import Vue from 'vue'; export default new Vue(); 然后在你需要触发的 组件中引入 import bus from ‘文件路径’ 执行:bus.$emit('触发名称', 传输的数据 ) 最后在你需要的通信的另一个组件中 mounted生命周期钩子中执行如下: bus.$on('触发名称', res => { /

web修理工 1万+

vue-bus实现兄弟组件通讯

一、为什么要使用vue-bus? 学习vue的开发者都知道,父子组件的直接的通讯直接使用vue提供的props属性和emit方法。props接受来自父组件的参数,emit将子组件的参数传递给父组件。这样一来父子组件之间的参数传递就得到了解决。(之前做项目的时候看到$parent和$children也可以进行父子组件和兄弟之间的参数传递,但是不提倡,原因在于如果组件想要替换位置就有问题)。 那么...

刘泽海的博客 836

vue中的event bus非父子组件通信

有时候非父子关系的组件也需要通信。在简单的场景下,使用一个空的Vue实例作为中央事件总线: 有时候非父子关系的组件也需要通信。在简单的场景下,使用一个空的 Vue 实例作为中央事件总线: var bus = new Vue() // 触发组件 A 中的事件bus.$emit('id-selected', 1)

curry_zhao的博客 1万+

Vue组件通信之父子组件通信、兄弟组件通信

组件通信一般都是父与子/子与父,而Vue当中,又有一个Bus的概念,即:兄弟组件之间间的通信 1.父组件与子组件之间的通信 以我们的vue-cli3.0搭建的架子为例:可以看到,views/Home.vue之内,调用了一个子组件,即:HelloWorld.vue,并且通过属性传值,把一个名为msg的变量传递给了子组件(HelloWorld.vue),值为"Welcome to Your Vue...

weixin_43837268的博客 1497
上一篇: ArcGIS API for JavaScript本地化部署
下一篇: element-ui里,对于通过v-for渲染的el-form-item组件,使用自带的表单验证
Uncle_long
博客等级 码龄10年 17粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值