vue3中子组件通过defineProps获取父组件传的值,通过defineEmits事件修改值

8 篇文章 0 订阅
本文介绍了在Vue中,如何通过父组件的`ref`和子组件的`props`以及`emits`实现父子组件之间的数据交互,展示了修改子组件名称的简单过程。
摘要由CSDN通过智能技术生成

一、父组件

//父组件
<template>
  <div class="box">
    <h1>父组件</h1>
    <hr />
    <Child info="子组件" @changeName='getName' name="name"></Child>
  </div>
</template>
<script setup lang="ts">
import Child from "./Child.vue";
import { ref } from "vue";

let name= ref('yyy');

const getName = (pyload)=>{
consoe.log('获取子组件传来的值',pyload)

}
</script>

<style scoped>
.wrap{
  width: 100vw;
  height:100;
}
</style>

二、子组件

<template>
  <div class="box">
    <h1>子组件</h1>
    <h3>姓名:{{name}}</h3>
    <button @clikc='onChange'>修改名称</button>
  </div>
</template>
<script setup lang="ts">
import { ref, defineProps,defineEmits} from 'vue'
const props = defineProps(['name']); 
const emit= defineEmits(['changeName'])
const onChange = ()=>{
	emit('changeName','修改的名称')
}

</script>
  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue3中,子组件可以通过props接收组件递过来的。你可以使用`defineProps`函数来定义props,并在子组件中使用这些props。例如,你可以在子组件的脚本部分使用`defineProps`来接收组件递的,如下所示: ```javascript import { defineProps } from 'vue' const props = defineProps({ dialogTitle: { type: String, default: '', required: true }, dialogTableValue: { type: Object, default: () => ({}) } }) export default { props, // 其他组件选项 } ``` 在上面的代码中,我们使用`defineProps`定义了两个props:`dialogTitle`和`dialogTableValue`。组件可以通过这些props向子组件。子组件可以在模板中使用这些props,或者在脚本中进行处理。 请注意,`defineProps`函数需要从`vue`模块中导入,并且在子组件的`props`选项中使用这些props。 这样,子组件就可以使用组件递过来的了。 #### 引用[.reference_title] - *1* [Vue3中子组件组件的方法](https://blog.csdn.net/zheyiw/article/details/128857268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [vue3 组件和子组件如何 详解](https://blog.csdn.net/qq_56263094/article/details/124576055)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葫芦娃y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值