Vue学习:16.组件通信

组件通信就是指组件之间的数据传递。由于组件的数据是独立的,无法直接访问其他组件的数据,所以想要使用其他组件数据必须通过 组件通信!

在Vue.js中,组件之间的通信可以通过多种方式实现,包括 props、事件、$emit / $on、Vuex 状态管理等。

要讲组件通信首先来说一下组件关系。

组件关系

在Vue.js中,组件之间的关系可以分为父子关系、兄弟关系和祖先后代关系。

如图所示,A与B、C便是父子关系;B和C便是兄弟关系;A和D事祖先后代关系。

其实可以更为简略的划分为:父子关系、非父子关系。

组件通信分类

而根据组件之间的关系,可以将组件通信分类为以下几种:

1. 父子组件通信

  • Props / $emit: 父组件通过 props 向子组件传递数据,子组件通过 $emit 触发事件,向父组件传递数据。
  • $refs: 父组件可以通过 ref 属性引用子组件的实例,直接调用子组件的方法或访问子组件的数据。(通过this.$ref.实例名获取子组件DOM实例 然后调用实例的方法)

2. 兄弟组件通信

  • 事件总线(Event Bus): 通过一个空的 Vue 实例作为中央事件总线,兄弟组件通过该实例进行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值