Vue3中provide和inject作用和場(chǎng)景
作用和場(chǎng)景:頂層組件向任意的底層組件傳遞數(shù)據(jù)和方法,實(shí)現(xiàn)跨層組件通信
跨層傳遞普通數(shù)據(jù):
1.頂層組件通過(guò)provide函數(shù)提供數(shù)據(jù)
2.底層組件通過(guò)inject函數(shù)獲取數(shù)據(jù)

既可以傳遞普通數(shù)據(jù),也可以使用ref傳遞響應(yīng)式數(shù)據(jù)(頂層組件修改數(shù)據(jù)后可以響應(yīng)過(guò)去)

但是底層組件不能修改頂層組件傳遞過(guò)來(lái)的數(shù)據(jù),所以我們可以在頂層組件中跨層傳遞函數(shù),給子孫后代傳遞可以修改數(shù)據(jù)的方法

頂層組件
<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)//可以放在點(diǎn)擊事件上
</script>這樣就可以把父組件里的count改為1000了

到此這篇關(guān)于Vue3中provide和inject作用和場(chǎng)景的文章就介紹到這了,更多相關(guān)Vue3 provide和inject內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3實(shí)現(xiàn)el-table分批渲染表格
這篇文章主要為大家詳細(xì)介紹了vue3項(xiàng)目中如何實(shí)現(xiàn)el-table分批渲染表格,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
vue優(yōu)化之優(yōu)雅的拋出錯(cuò)誤(Error)問(wèn)題
這篇文章主要介紹了vue優(yōu)化之優(yōu)雅的拋出錯(cuò)誤(Error)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue3源碼分析偵聽(tīng)器watch的實(shí)現(xiàn)原理
watch?的本質(zhì)就是觀測(cè)一個(gè)響應(yīng)式數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生變化時(shí)通知并執(zhí)行相應(yīng)的回調(diào)函數(shù)。watch的實(shí)現(xiàn)利用了effect?和?options.scheduler?選項(xiàng),這篇文章主要介紹了Vue3源碼分析偵聽(tīng)器watch的實(shí)現(xiàn)原理,需要的朋友可以參考下2022-08-08
vue自適應(yīng)布局postcss-px2rem詳解
這篇文章主要介紹了vue自適應(yīng)布局(postcss-px2rem)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2022-05-05
vue.js使用v-model實(shí)現(xiàn)表單元素(input) 雙向數(shù)據(jù)綁定功能示例
這篇文章主要介紹了vue.js使用v-model實(shí)現(xiàn)表單元素(input) 雙向數(shù)據(jù)綁定功能,結(jié)合完整實(shí)例形式分析了v-model實(shí)現(xiàn)表單input元素?cái)?shù)據(jù)雙向綁定相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
vue-video-player 通過(guò)自定義按鈕組件實(shí)現(xiàn)全屏切換效果【推薦】
這篇文章主要介紹了vue-video-player,通過(guò)自定義按鈕組件實(shí)現(xiàn)全屏切換效果,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08

