Vue3-provide和inject

作用和场景:顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信

跨层传递普通数据:

1.顶层组件通过provide函数提供数据

2.底层组件通过inject函数获取数据

既可以传递普通数据,也可以使用ref传递响应式数据(顶层组件修改数据后可以响应过去)

但是底层组件不能修改顶层组件传递过来的数据,所以我们可以在顶层组件中跨层传递函数,给子孙后代传递可以修改数据的方法

顶层组件

复制代码
<script setup>
    import {provide,ref} from 'vue'
    const count=ref(100)
    provide('changeCount',(newCount)=>{
        count.value=newCount
    })
</script>

底层组件

复制代码
<script setup>
    import {inject} from 'vue'
    const changeCount=inject(changeCount)
    changeCount(1000)//可以放在点击事件上
</script>

这样就可以把父组件里的count改为1000了

相关推荐
一念一花一世界几秒前
Arbess从初级到进阶(2) - 使用Arbess+GitLab实现Vue.js项目自动化部署
vue.js·ci/cd·gitlab·arbess
qq. 28040339841 小时前
js 原型链分析
开发语言·javascript·ecmascript
有趣的野鸭1 小时前
JAVA课程十一次实验课程主要知识点示例
java·前端·数据库
格鸰爱童话1 小时前
next.js(二)——从react到next.js
前端·javascript·react.js
Hammer Ray4 小时前
SourceMap知识点
javascript·sourcemap
西洼工作室4 小时前
项目环境变量配置全攻略
前端
阿珊和她的猫4 小时前
Webpack 优化:构建速度与包体积的双重提升
前端·webpack·node.js
阿珊和她的猫4 小时前
Webpack 打包体积优化:让应用更轻量、更高效
前端·webpack·状态模式
im_AMBER4 小时前
Vite + React 项目启动深度踩坑指南
前端·学习·react.js·前端框架
Hammer Ray5 小时前
前端开发基础概念(React)
前端·react.js·前端框架