vue 初步了解provide inject

2022-06-19 14:03:09 字數 742 閱讀 4697

provider/inject:簡單的來說就是在父元件中通過provider來提供變數,然後在子元件中通過inject來注入變數。

需要注意的是 

provide / inject這對選項需要一起使用,

以允許乙個祖先元件向其所有子孫後代注入乙個依賴,不論元件層次有多深,並在起上下游關係成立的時間裡始終生效。

(這裡不論子元件有多深,只要呼叫了inject那麼就可以注入provider中的資料。而不是侷限於只能從當前父元件的prop屬性來獲取資料。)

eg:

父元件中提供

provide()

//}},

子元件中引入

inject: }}

},使用:

this.map_nodeobj.map_node

執行順序:

data

provide

created

//在這個階段$el還未生成,在這先處理privide的邏輯,子孫元件才可以取到inject的值

mounted

...

provide/inject的缺點:

這麼做也是有明顯的缺點的,在任意層級都能訪問導致資料追蹤比較困難,不知道是哪乙個層級宣告了這個或者不知道哪一層級或若干個層級使用了,因此這個屬性通常並不建議使用能用vuex的使用vuex,不能用的多傳參幾層,但是在做元件庫開發時,不對vuex進行依賴,且不知道使用者使用環境的情況下可以很好的使用

Vue之路 (一)初步了解vue框架

vue.js 讀音 vju 類似於 view 是一套構建使用者介面的 漸進式框架。與其他重量級框架不同的是,vue 採用自底向上增量開發的設計。vue 的核心庫只關注檢視層,並且非常容易學習,非常容易與其它庫或已有專案整合。另一方面,vue 完全有能力驅動採用單檔案元件和 vue 生態系統支援的庫開...

C Boost 初步了解

boost是由c 標準委員會成員發起 眾多c 業界高人參與設計並實現的乙個涉及面廣 質量高且業已廣泛使用的c 標準後備庫,其中 tr1已經被納入c 0x標準庫。不論從風格和內容組織上講,都可以認為boost專案是c 標準庫的延伸。截止到boost 1.43版本,boost專案擁有大約100個用途廣泛...

jquery 初步了解

js 建立函式有以下三種方法 1 函式關鍵字 function foo x 2 匿名函式 var func function x 3 建構函式 var func new function x alert x 建構函式每次執行時都解析函式主題 頻繁呼叫建構函式效率很低 並且建構函式不能遞迴使用 關鍵字...