前端框架vue:三种组件通信

本文介绍了Vue组件间的通信方式。包括父组件向子组件传输数据用props,子组件向父组件发送数据通过事件监听,利用$emit触发事件,父组件用v - on监听;还提及兄弟组件之间也可利用事件监听进行通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.父组件向子组件传输局:利用pros

链接:https://blog.csdn.net/qq_34129336/article/details/79541447

2.子组件向父组件发送数据:事件监听

在父组件 App.vue 中引用子组件 A.vue,把 A中的数据传给App.

子组件 A.vue:

<template>
 <div>
 <h3>这里是子组件的内容</h3>
 <button v-on:click="spot">点一下就传</button>
 </div>
</template>
 
<script>
 export default {
 methods: {
  spot: function() {
  // 与父组件通信一定要加上这句话
  this.$emit("spot", '我是子组件传给父组件的内容就我。。')
  }
 }
 }
</script>

父组件 App.vue

<template>
 <div id="app">
 <!-- 父组件直接用 v-on 来监听子组件触发的事件。 -->
 <!-- 需跟子组件中的$emit组合使用 -->
 <A v-on:spot="spot"/>
 </div>
</template>
 
<script>
import A from './components/A'
export default {
 name: 'App',
 components: {
 A
 },
 methods:{
 spot:function(data){
  console.log(data)
 }
 }
}
</script>

a、$emit很重要,使用 $emit(事件名,参数) 触发事件

b、子组件需要某种方式来触发自定义事件

c、父组件直接用 v-on 来监听子组件触发的事件,需跟子组件中的$emit组合使用。

 

3.兄弟组件之间的通信:利用事件监听

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值