Vue与VueComponent的关系

结论:VueComponent.prototype.__proto__ === Vue.prototype

Vue与VueComponent的关系如图所示:
Vue与VueComponent的关系_第1张图片
(图一)

前提知识:
每个函数function都有一个prototype属性,即显式原型(属性),它默认指向Object空对象,
每个实例对象都有一个__proto__属性,即称隐式原型(属性)。

关系图分析:
当我们创建一个vue实例对象vm的时候,
则Vue.prototype === vm.__proto__,都指向Vue的原型对象。
当我们创建一个组件实例对象vc的时候,
则VueComponent.prototype === vc.__proto__,都指向VueComponent.prototype的原型对象。

Vue和VueComponent最终本该都指向Object原型对象(如图二黄实线),可VueComponent把原本指向Object的原型对象改到指向Vue原型对象(如一图黄虚线),即VueComponent.prototype.__proto__ === Vue.prototype,目的是为了组件实例对象(vc)可以访问到Vue原型上的属性和方法
Vue与VueComponent的关系_第2张图片
(图二)

你可能感兴趣的:(Vue与VueComponent的关系)