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了

相关推荐
Archie_IT4 分钟前
修图自由!自建IOPaint服务器,手机平板随时随地远程调用在线P图
运维·服务器·前端·git·深度学习·npm·conda
无名之逆25 分钟前
[特殊字符] Hyperlane:为现代Web服务打造的高性能Rust文件上传解决方案
服务器·开发语言·前端·网络·后端·http·rust
weixin_7488770028 分钟前
【在Node.js项目中引入TypeScript:提高开发效率及框架选型指南】
javascript·typescript·node.js
风中飘爻1 小时前
JavaScript:基本语法
开发语言·前端·javascript
Direct_Yang1 小时前
JavaScript性能优化(上)
开发语言·javascript·ecmascript
桃子不吃李子1 小时前
前端学习10—Ajax
前端·学习·ajax
狂炫一碗大米饭1 小时前
快刷每日面经😋
前端·面试
烛阴1 小时前
Express + Prisma + MySQL:一站式搭建高效 Node.js 后端服务
javascript·后端·express
涵信2 小时前
第二节:React 基础篇-受控组件 vs 非受控组件
前端·javascript·react.js
二月垂耳兔7982 小时前
jQueryHTML与插件
前端·jquery