记录在vue中的父传子,子传父,兄弟传值之间的通信问题

1.先看看父传子

App.vue是父组件, 被调用的HelloWorld.vue是子组件

父传子:调用子组件的时候直接赋值即可

在这里插入图片描述

被调用的HelloWorld.vue子组件通过props接收并赋值

在这里插入图片描述

这样就能看到效果,在App.vue上看到的效果

在这里插入图片描述

2.再来看子传父

子传父:子组件需要通过this.$emit('事件名称','需要传的值') 向父组件发射广播信息

在这里插入图片描述
在这里插入图片描述

通过点击按钮可以看到收到了子组件传来的值

在这里插入图片描述

3.最后看看兄弟传值(子传子)

有三种方式

  1. 大儿子传值到父组件,再通过父组件传值给小儿子
  2. 通过事件总线eventBus进行通信
  3. 通过vuex进行数据共享

这里仅讲通过事件总线eventBus进行通信

  1. 先在components下创建一个子组件About.vue
    在这里插入图片描述
  2. 在App.vue里引入About.vue组件并注册调用
    在这里插入图片描述
  3. 因为需要用到事件总线,所以需要在src/eventBus下创建一个eventBus.js
    在这里插入图片描述
  4. 在需要用到传值的组件里引入eventBus
     import eventBus from "@/eventBus/eventBus"
    
  5. 我们在HelloWorld.vue组件里面广播出一个信息
    在这里插入图片描述
    6.在About.vue组件中,通过事件总线eventBus监听HelloWorld.vue发出的信息
    在这里插入图片描述
    7.通过页面来看看效果
    未点击状态下:
    还没有点击HelloWorld.vue组件中的按钮
    点击之后的状态:在这里插入图片描述

这就完成了组件与组件之间的通信!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值