当前位置: 首页 > news >正文

vue3子传父——v-model辅助值传递


title: 子组件向父组件传值
date: 2025-04-27 19:11:09
tags: vue3

vue3子传父——v-model辅助值传递

一、子组件发出

1.步骤一创建emit对象

这个对象使用的是defineEmits进行的创建,emit的中文意思又叫发出,你就把他当成一个发出数据的函数方法来用。

const emit = defineEmits(['update:要传递的对象1','update:要传递的对象2']);
const emit = defineEmits(['update:selectSummary']);

**注意:**要写’update:'的原因是这是vue3的一种约定方式,你可以不这么写,但是一旦父组件调用你的方式涉及到了v-model,这种情况下你必须写’update:’这种形式,要不然父组件找不到你传出来的数据。

2.子组件使用emit对象

一般来说会写一个监听函数或者计算函数,来监听想向外传递的数据,以达到子组件的数据一改变就传递的目的。但方式多样看自己的需求写相关的函数,适当时机触发就可以。

// 监听选择的对象数组,滤出想要的数据
watch(selection, () => {let arr = selection.value.map((item) => { //处理数据return item.content;});emit('update:selectSummary', arr);//发出处理好的数据});

二、父组件接受

使用v-model接收对象。在父组件中使用v-model来进行对象的接收。这是一种约定

v-model:名字=‘父组件对象’

emit(‘update:名字‘,子组件对象)

<chird v-model:selectSummary="selectSummary" /> // 可以写一样的名字
<chird v-model:selectSummary="summary" /> // 也可以写不一样的名字

注意:

v-model实际上只是一种双向绑定简写方法

<ChildComponent v-model:selectSummary="summary" />

实际写法

<ChildComponent :selectSummary="summary" // summary将值传递给子组件的selectSummary对应的对象@update:selectSummary="(newValue) => summary = newValue"  //更新函数,值给summary
/>

相关文章:

  • C++ ——引用
  • 详细PostMan的安装和基本使用方法
  • 低压电工证考试的实操部分主要考察哪些内容?
  • 邀请函|2025 Altair区域技术交流会华北站,报名开启!
  • 安卓基础(适配器和RecyclerView )
  • 【HPC存储性能测试】02-ior带宽性能测试
  • Bolt.diy 一键部署,“一句话”实现全栈开发
  • GPUStack昇腾Atlas300I duo部署模型DeepSeek-R1【GPUStack实战篇2】
  • Java安全之cc链学习集合
  • 【MySQL 】MySQL 安装自记录全程-详细 (mysql-installer-community-8.0.42.0.msi)
  • XLSX.utils.sheet_to_json设置了blankrows:true,但无法获取到开头的空白行
  • 毫米波振荡器设计知识笔记
  • 快速排序及其在Unity游戏开发中的应用
  • 在旧版本中打开Anylogic模型
  • 纯净无噪,智见未来——MAGI-1本地部署教程,自回归重塑数据本质
  • GAMES202-高质量实时渲染(homework1)
  • Web前端开发:CSS Float(浮动)与 Positioning(定位)
  • Pydantic :基于 Python 类型注解(type hints)的数据验证和数据解析库
  • 《电商业务分析终极框架:从数据到决策的标准化路径》
  • cuda学习2:cuda编程基本概念
  • 美情报机构攻击中国大型商用密码产品提供商,调查报告公布
  • 饶权已任国家文物局局长
  • “70后”通化市委书记孙简已任吉林省政府领导
  • 对外投资增长、消费市场持续升温,中国经济砥砺前行
  • 从中央政治局会议看经济工作着力点:以高质量发展的确定性应对外部不确定性
  • 中青报:“猿辅导员工猝死”事件上热搜,是对健康职场环境的共同关切