Vue源代碼閱讀9值provide屬性初始化

       provide屬性和inject屬性是需要進行搭配使用的,用於跨越父子組件的數據祖先組件向後代組件傳輸數據。這裏我們將對provide屬性的初始化進行講解。

export function initProvide (vm: Component) {
  const provide = vm.$options.provide
  if (provide) {
    vm._provided = typeof provide === 'function'
      ? provide.call(vm)
      : provide
  }
}

       從程序的源代碼看provide的初始化過程還是比較簡單的,首先看組件中的$options屬性中是否具有provide屬性如果沒有就不進行處理。如果有根據provide的值類型是否是函數,如果是函數則進行調用如果不是函數就直接進行賦值。並設置到組件對象的_provided屬性中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章