VueComponent.prototype.__proto__ === Vue.prototype
这有张图是尚硅谷课程上的,非常好,如果失效再去上面找!
仔细看上图,其实是个vm和vc对象的内部结构,是个嵌套形式。仔细看!!!
prototype:显示原型属性
__proto__:隐式原型属性
显示原型属性和隐式原型属性都指向原型对象
看这些原型属性(prototype和__proto__)不断的嵌套,很像java中class的继承,就像是super方法(好像就是。。没有具体研究过)
具体prototype和__proto__到底是什么意思,我也不知道。。。
2. 为什么要有这个关系?让组件实例对象(vc)可以访问到 Vue原型上的属性、方法。
3. 实战举例:(1)全局事件总线Vue.prototype.$bus = this; //this是vm
(2)将api接口统一暴露,然后挂载到vm原型对象上,其他组件就可以无需导入,直接调用。
import API from '@/api' Vue.prototype.$API = API4. 拓展:vm和vc
https://blog.csdn.net/HSH541/article/details/124342333



