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( ' 数据名 ' )**函数来接收数据

相关推荐
TE-茶叶蛋35 分钟前
React的合成事件(SyntheticEventt)
前端·javascript·react.js
GISer_Jing3 小时前
CSS-in-JS:现代前端样式管理的革新
前端·javascript·css
咖啡の猫4 小时前
JavaScript基础-作用域链
开发语言·javascript
2501_914286495 小时前
Web技术与Nginx网站环境部署
前端·nginx·php
啊啊啊~~5 小时前
css实现不确定内容的高度过渡
前端·javascript·css
tongjiwenzhang5 小时前
APPtrace 智能参数系统:重构 App 用户增长与运营逻辑
大数据·前端·重构
亲爱的马哥5 小时前
TDuckX 2.6 正式发布|API 能力开放,核心表单逻辑重构,多项实用功能上线。
java·服务器·前端
Raink老师6 小时前
制作大风车动画
前端·harmonyos·鸿蒙·案例实战
追求者20166 小时前
实现图片自动压缩算法,canvas压缩图片方法
前端·javascript·canvas
斯~内克6 小时前
深入解析前端 JSBridge:现代混合开发的通信基石与架构艺术
前端·架构