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了

相关推荐
IT_陈寒4 分钟前
Python多进程共享变量那个坑,我差点没爬出来
前端·人工智能·后端
ayqy贾杰21 分钟前
Claude Code 重构,并行化或终结 IDE 时代
前端·javascript·面试
tanis_31 小时前
MinerU JS/TS SDK 深度指南:JavaScript/TypeScript 开发者的 PDF/文档解析利器
javascript
SuperChe1 小时前
用AI Native的方式优化前端性能
前端·算法
陈广亮1 小时前
工具指南24-在线CSS Box Shadow生成器
前端
颜酱1 小时前
智能体与工作流:从「想做一个应用」到「能跑通一条链」
前端·javascript·人工智能
前端 贾公子1 小时前
Tailwind CSS OKLCH 颜色与所有浏览器兼容
前端
Lans1 小时前
别再手动管理 NavBackStackEntry 了!ComposeResult:更优雅的 Jetpack Compose 页面通信方案
前端
AI茶水间管理员1 小时前
如何让LLM稳定输出 JSON 格式结果?
前端·人工智能·后端
PILIPALAPENG1 小时前
第2周 Day 4:英语 Agent Web 版上线:从命令行到浏览器
前端·人工智能·python