vue中组件之间通讯的13种方式

本文详细介绍了Vue中组件之间13种通信方式,包括props、$emit、ref、$parent/$children、$attrs/$listeners、v-model、sync、bus、Vuex、store路由、slot、$root、pinia以及provide/inject,涵盖了父子、兄弟及跨组件的各种场景。
摘要由CSDN通过智能技术生成

最常见的几种:

目录

父子之间传值:

1.props  父向子传值

2.$emit 子向父传值

​​​​​​​3.ref

4.$parent $children

5.$attrs和$listeners

6.v-model

7.sync

兄弟之间传值

8.bus

跨组件通讯传值

9.Vuex跨组件通信

10.store路由

11.slot

12.$root

13.pinia

14.provide inject


父子之间传值:

1.props  父向子传值

1.1父组件通过:自定义名称="值",

1.2子组件使用props接受,与data同级,子组件接收到数据之后,不能直接修改父组件的数据。否则会报错,因为当父组件重新渲染时,数据会被覆盖。如果只在子组件内要修改的话推荐使用 computed.

2.$emit 子向父传值

2.1子组件通过this.$emit('自定义事件',参数)  

2.2父组件用@接受自定义事件,并定义方法.

​​​​​​​3.ref

3.1ref 如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例.

3.2可以通过实例直接调用组件的方法或访问数

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值