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

相关推荐
J***Q2921 小时前
Vue数据可视化
前端·vue.js·信息可视化
JIngJaneIL2 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
ttod_qzstudio2 小时前
深入理解 Vue 3 的 h 函数:构建动态 UI 的利器
前端·vue.js
芳草萋萋鹦鹉洲哦2 小时前
【elemen/js】阻塞UI线程导致的开关卡顿如何优化
开发语言·javascript·ui
_大龄3 小时前
前端解析excel
前端·excel
1***s6323 小时前
Vue图像处理开发
javascript·vue.js·ecmascript
一 乐3 小时前
应急知识学习|基于springboot+vue的应急知识学习系统(源码+数据库+文档)
数据库·vue.js·spring boot
槁***耿3 小时前
JavaScript在Node.js中的事件发射器
开发语言·javascript·node.js
一叶茶3 小时前
移动端平板打开的三种模式。
前端·javascript
前端大卫3 小时前
一文搞懂 Webpack 分包:async、initial 与 all 的区别【附源码】
前端