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

相关推荐
Penk是个码农3 分钟前
web前端面试-- MVC、MVP、MVVM 架构模式对比
前端·面试·mvc
markyankee1014 分钟前
Vue.js 入门指南:从零开始构建你的第一个应用
vue.js
MrSkye6 分钟前
🔥JavaScript 入门必知:代码如何运行、变量提升与 let/const🔥
前端·javascript·面试
白瓷梅子汤10 分钟前
跟着官方示例学习 @tanStack-form --- Linked Fields
前端·react.js
爱学习的茄子14 分钟前
深入理解JavaScript闭包:从入门到精通的实战指南
前端·javascript·面试
zhanshuo1 小时前
不依赖框架,如何用 JS 实现一个完整的前端路由系统
前端·javascript·html
火柴盒zhang1 小时前
websheet在线电子表格(spreadsheet)在集团型企业财务报表中的应用
前端·html·报表·合并·spreadsheet·websheet·集团财务
讨厌吃蛋黄酥1 小时前
智能前端新纪元:语音交互技术与安全实践全解析
javascript
khalil1 小时前
基于 Vue3实现一款简历生成工具
前端·vue.js
拾光拾趣录1 小时前
浏览器对队头阻塞问题的深度优化策略
前端·浏览器