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

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

但是底層組件不能修改頂層組件傳遞過來的數(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)//可以放在點擊事件上
</script>這樣就可以把父組件里的count改為1000了

到此這篇關(guān)于Vue3中provide和inject作用和場景的文章就介紹到這了,更多相關(guān)Vue3 provide和inject內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue?+?element-plus自定義表單驗證(修改密碼業(yè)務(wù))的示例
這篇文章主要介紹了vue?+?element-plus自定義表單驗證(修改密碼業(yè)務(wù)),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧2025-04-04
vue子組件使用自定義事件向父組件傳遞數(shù)據(jù)
這篇文章主要介紹了vue子組件使用自定義事件向父組件傳遞數(shù)據(jù)的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05

