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属性中。

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