【同级组件间传数据】

同级组件间传数据

1、在src/下创建一个文件夹用来存放xxx.js文件,和main.js同级,在其中只需创建一个新的Vue实例,以后它就承担起了组件之间通信的桥梁了,也就是中央事件总线。
在这里插入图片描述
2、现在创建一个A组件,引入事件总线的js文件,接着添加一个按钮并绑定一个点击事件,进行自定义事件抛出;
eventBridge.$emit(“自定义事件名称”,传递的数据):自定义事件并发布。
在这里插入图片描述

3、再创建一个B组件,引入eventBus事件总线,在mounted钩子,监听了自定义事件,并把传递过来的字符串参数传递给了on监听器的回调函数;
eventBridge.$on(“自定义事件名称”,(msg)=>{将接收到的数据进行处理}). $on:监听当前实例上的自定义事件。
总结:

1、创建一个事件总线,例如demo中的eventBus,用它作为通信桥梁。
2、在需要传值的组件中用bus.emit触发一个自定义事件,并传递参数(emit前加美元符)。
3、在需要接收数据的组件中用bus.$on监听自定义事件,并在回调函数中处理传递过来的参数。

传统方法:先逆传给父组件,然后正向传值给同级子组件
中央事件总线:大大减少了事件之间的耦合性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值