教你在Vue3中如何使用依赖注入完成组件之间的数据传递
import 子孙组件
import {ref,provide} from 'vue'
setup(){
provide('moneyInfo',1000)
return{moneyInfo}
}
import {inject} from 'vue'
setup(){
const moneyInfo=inject('moneyInfo')
return{moneyInfo}
}
总结:
父传子孙数据:provide
子孙得到数据:inject
子孙组件向父组件传递数据
import 子孙组件
import {ref,provide} from 'vue'
setup(){
const money=(val)=>{
console.log('子孙组件传递的数据',val)
}
provide('money',money)
}
<div @click='handleSend'>点击传值</div>
import {inject} from 'vue'
setup(){
const money=inject('money')
const handleSend=()=>{
money(200)
}
}
总结:子组件传递数据给爷爷组件,需要通过provide一个函数的方式实现
- 爷爷组件传递一个函数,后续通过函数的形参获取数据
- 孙子组获取并调用该函数传递数据
|