Vue3 父子组件传值, 跨组件传值,传函数

目录

1.父组件向子组件传值

[1.1 步骤](#1.1 步骤)

[1.2 格式](#1.2 格式)

[2. 子组件向父组件传值](#2. 子组件向父组件传值)

[1.1 步骤](#1.1 步骤)

[1.2 格式](#1.2 格式)

[3. 跨组件传值](#3. 跨组件传值)

运行

[4. 跨组件传函数](#4. 跨组件传函数)

[​5. 总结](#5. 总结)

[1. 父传子](#1. 父传子)

[2. 子传父](#2. 子传父)

[3. 跨组件传值(函数)](#3. 跨组件传值(函数))


1.父组件向子组件传值

1.1 步骤

  1. 在父组件中引入子组件
  2. 在子组件标签中自定义属性
  3. 在子组件里使用**definePorps(["属性名"])**获取

1.2 格式

父组件:

<Down propMsg = '值' />

<子组件名 自定义属性名 = '值'
子组件:

const emits = defineProps( [ ' 自定义属性名 ' ] )

2. 子组件向父组件传值

1.1 步骤

  1. 在子组件中自定义事件
  2. 在子组件中使用defineEmits定义对象
  3. 使用对象(事件名.{参数})

1.2 格式

子传父

父组件

<Down @emitsMsg = '函数名'

<子组件名 @自定义事件 = '函数名'

子组件

const emits = defineEmits( [ " emitMsg " ] )

const emits = defineEmits( [ ' 自定义事件名 ' ] )

3. 跨组件传值

也就是 A是B的父组件 , B是C的父组件 , 而A组件需要给C组件传递参数(值,对象,响应式数据等)

首先准备三个vue文件

在App(爷组件)中, 定义一个数据, 并用provide 函数, 引入Son.vue(子组件)

在Son.vue中引入sonson.vue组件(孙组件)

在sonson.vue组件中, 用**inject()**函数去获取值

运行

4. 跨组件传函数

与跨组件传值类似, 只不过是将一个 换成了 函数

首先定义 一个函数, 然后通过**provide()**进行传函数

5. 总结

1. 父传子

在父组件中自定义**属性名,**然后在子组件中, 使用defineProps( [ ' 属性名 ' ] ) 获取值

2. 子传父

在父组件中自定义事件名 , 然后子组件用**defineEmits( [ ' 事件名 ' ] )**来创建对象, 再通过对象调用函数对父组件进行传值

3. 跨组件传值(函数)

首先在爷组件中定义数据, 然后使用 provide( ' 数据名 ' , 数据 ) 传递数据. 在孙子组件中, 使用**inject( ' 数据名 ' )**函数来接收数据

相关推荐
天黑请闭眼2 小时前
视频文件上传至服务器后浏览器无法在线播放
前端
一位搞嵌入式的 genius2 小时前
前端实战开发(四):从迭代器到异步编程:ES6 Generator 全面解析 + 实战问题排查
开发语言·前端·es6·前端实战
拉不动的猪2 小时前
# 关于初学者对于JS异步编程十大误区
前端·javascript·面试
玖釉-2 小时前
解决PowerShell执行策略导致的npm脚本无法运行问题
前端·npm·node.js
Larcher3 小时前
新手也能学会,100行代码玩AI LOGO
前端·llm·html
徐子颐3 小时前
从 Vibe Coding 到 Agent Coding:Cursor 2.0 开启下一代 AI 开发范式
前端
小月鸭3 小时前
如何理解HTML语义化
前端·html
jump6803 小时前
url输入到网页展示会发生什么?
前端
诸葛韩信3 小时前
我们需要了解的Web Workers
前端
brzhang3 小时前
我觉得可以试试 TOON —— 一个为 LLM 而生的极致压缩数据格式
前端·后端·架构