目录
[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 步骤
- 在父组件中引入子组件
- 在子组件标签中自定义属性
- 在子组件里使用**definePorps(["属性名"])**获取


1.2 格式
父组件:
<Down propMsg = '值' />
<子组件名 自定义属性名 = '值'
子组件:const emits = defineProps( [ ' 自定义属性名 ' ] )
2. 子组件向父组件传值
1.1 步骤
- 在子组件中自定义事件
- 在子组件中使用defineEmits定义对象
- 使用对象(事件名.{参数})

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