子组件传值父组件

子组件调用父组件的方法
1.在父组件中给引用的子组件注册一个事件(这个事件的名字是自定义的)
2.子组件可以触发这个事件$emit(‘事件名字’)

子组件给父组件传递数据
1、emit方法第二个参数可以定义子组件给父组件传递的内容2、在父组件中怎么拿到这内容2.1父组件这个方法没有自定参数,在父组件的方法直接加这个参数就可以拿到2.2父组件有自定义参数,可以传入emit方法第二个参数可以定义子组件给父组件传递的内容 2、在父组件中怎么拿到这内容 2.1 父组件这个方法没有自定参数,在父组件的方法直接加这个参数就可以拿到 2.2 父组件有自定义参数,可以传入emit22.12.2event也可以拿到子组件传递的数据。通过$event只能传递第一个参数。
在这里插入图片描述
在这里插入图片描述

### 实现子组件父组件 在 UniApp 和 Vue3 中,`$emit` 是一种常用的方式用于子组件父组件递数据。通过定义事件并触发这些事件来完成这一过程。 #### 子组件 (Child.vue) 子组件中可以通过 `defineEmits` 来声明可以被触发的事件名称,并利用 `$emit()` 方法发送消息给父组件[^1]: ```html <template> <view @click="sendMessage">点击这里</view> </template> <script setup> import { defineEmits } from 'vue'; const emit = defineEmits(['message']); function sendMessage() { const message = "来自子组件的消息"; emit('message', message); } </script> ``` 此代码片段展示了当用户点击视图区域时会调用 `sendMessage` 函数,在该函数内部使用了 `emit` 发送了一个名为 `'message'` 的事件以及相应的负载即字符串 `"来自子组件的消息"`。 #### 父组件 (Parent.vue 或 App.vue) 为了接收到来自子组件的信息,可以在父组件内监听特定的名字为 `'message'` 的自定义事件,并处理它所携带的数据[^2]: ```html <template> <child-component v-on:message="handleMessage"></child-component> </template> <script setup> import ChildComponent from './components/Child.vue'; import { ref } from 'vue'; let receivedMessage = ref(''); function handleMessage(msg) { console.log(`接收到的消息: ${msg}`); receivedMessage.value = msg; } </script> ``` 上述脚本部分定义了一个响应式的变量 `receivedMessage` 并初始化为空字符串;同时实现了 `handleMessage` 处理程序用来更新这个状态变量的内容以便后续展示或进一步操作。 这样就完成了从子组件父组件之间的单向数据流输机制。每当子组件中的按钮被按下之后就会执行其关联的动作并将指定信息回至上级容器之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值