vue3|在Vue3中如何使用依赖注入完成组件之间的数据传递

在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) } //子孙组件
点击传值
import { inject} from 'vue' setup(){const money=inject('money') const handleSend=()=>{money(200) } }

总结:子组件传递数据给爷爷组件,需要通过provide一个函数的方式实现
  1. 爷爷组件传递一个函数,后续通过函数的形参获取数据
  2. 孙子组获取并调用该函数传递数据

    推荐阅读