亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue3中依賴注入provide、inject的使用

 更新時間:2023年10月19日 09:38:07   作者:癡心阿文  
這篇文章主要介紹了Vue3中依賴注入provide、inject的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、Prop 逐級透傳問題

vue中我們要從父組件向子組件傳遞數(shù)據(jù)時,會使用 props。

如果需要給深層子組件傳遞數(shù)據(jù),會非常麻煩,

如下圖:

provide 和 inject 可以幫助我們解決這一問題。

一個父組件相對于其所有的后代組件,會作為依賴提供者。

任何后代的組件樹,無論層級有多深,都可以注入由父組件提供給整條鏈路的依賴。

二、Provide (提供)

要為組件后代提供數(shù)據(jù),需要使用到 provide() 函數(shù):

如果不使用 <script setup>,請確保 provide() 是在 setup() 同步調(diào)用的:

provide() 函數(shù)接收兩個參數(shù)。第一個參數(shù)被稱為注入名,可以是一個字符串或是一個 Symbol。

后代組件會用注入名來查找期望注入的值。

一個組件可以多次調(diào)用 provide(),使用不同的注入名,注入不同的依賴值。

第二個參數(shù)是提供的值,值可以是任意類型,包括響應(yīng)式的狀態(tài),比如一個 ref:

提供的響應(yīng)式狀態(tài)使后代組件可以由此和提供者建立響應(yīng)式的聯(lián)系。

三、應(yīng)用層 Provide

除了在一個組件中提供依賴,我們還可以在整個應(yīng)用層面提供依賴:

在應(yīng)用級別提供的數(shù)據(jù)在該應(yīng)用內(nèi)的所有組件中都可以注入。

這在你編寫插件時會特別有用,因為插件一般都不會使用組件形式來提供值。

四、Inject (注入)

要注入上層組件提供的數(shù)據(jù),需使用 inject() 函數(shù):

如果提供的值是一個 ref,注入進來的會是該 ref 對象,而不會自動解包為其內(nèi)部的值。

這使得注入方組件能夠通過 ref 對象保持了和供給方的響應(yīng)性鏈接。

同樣的,如果沒有使用 <script setup>,inject() 需要在 setup() 內(nèi)同步調(diào)用:

五、注入默認(rèn)值

默認(rèn)情況下,inject 假設(shè)傳入的注入名會被某個祖先鏈上的組件提供。

如果該注入名的確沒有任何組件提供,則會拋出一個運行時警告。

如果在注入一個值時不要求必須有提供者,那么我們應(yīng)該聲明一個默認(rèn)值,和 props 類似:

在一些場景中,默認(rèn)值可能需要通過調(diào)用一個函數(shù)或初始化一個類來取得。

為了避免在用不到默認(rèn)值的情況下進行不必要的計算或產(chǎn)生副作用,我們可以使用工廠函數(shù)來創(chuàng)建默認(rèn)值:

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue實現(xiàn)移動端圖片上傳功能

    vue實現(xiàn)移動端圖片上傳功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)移動端圖片上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Vue組件之間數(shù)據(jù)共享淺析

    Vue組件之間數(shù)據(jù)共享淺析

    本文章向大家介紹vue組件中的數(shù)據(jù)共享,主要包括vue組件中的數(shù)據(jù)共享使用實例、應(yīng)用技巧、基本知識點總結(jié)和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下
    2022-11-11
  • 詳解Vue.js Class與Style綁定

    詳解Vue.js Class與Style綁定

    這篇文章主要為大家介紹了Vue.js Class與Style綁定的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • ElementPlus表單rules校驗的方法步驟

    ElementPlus表單rules校驗的方法步驟

    相信大家經(jīng)常都會遇到要處理表單驗證的環(huán)節(jié),而我在最近的項目中也遇到需要做表單驗證的業(yè)務(wù),下面這篇文章主要給大家介紹了關(guān)于ElementPlus表單rules校驗的方法步驟,需要的朋友可以參考下
    2023-04-04
  • vue自動路由-單頁面項目(非build時構(gòu)建)

    vue自動路由-單頁面項目(非build時構(gòu)建)

    這篇文章主要介紹了vue自動路由-單頁面項目(非build時構(gòu)建),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • vue常見路由跳轉(zhuǎn)的幾種方式小結(jié)

    vue常見路由跳轉(zhuǎn)的幾種方式小結(jié)

    本文主要介紹了常見路由跳轉(zhuǎn)的幾種方式,主要介紹了四種常見方式,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • vue實現(xiàn)購物車完整功能

    vue實現(xiàn)購物車完整功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)購物車完整功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Vue $emit()不能觸發(fā)父組件方法的原因及解決

    Vue $emit()不能觸發(fā)父組件方法的原因及解決

    這篇文章主要介紹了Vue $emit()不能觸發(fā)父組件方法的原因及解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 使用Vue生成動態(tài)表單的示例代碼

    使用Vue生成動態(tài)表單的示例代碼

    這篇文章主要為大家詳細介紹了如何使用Vue生成動態(tài)表單,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Vue3使用vant檢索組件van-search遇到的問題小結(jié)

    Vue3使用vant檢索組件van-search遇到的問題小結(jié)

    當(dāng)清空按鈕與檢索按鈕同時居右時,點擊clear清空按鈕事件時會同時觸發(fā)click-right-icon事件,這個時候容易觸發(fā)一系列問題,小編小編給大家分享Vue3使用vant檢索組件van-search遇到的問題小結(jié),感興趣的朋友一起看看吧
    2024-02-02

最新評論