一、关于VueComponent:
- 举例:有一个组将名叫
school
,组件本质是一个名为VueComponent
的构造函数,且不是程序员定义的,是Vue.extend
生成的。 - 我们只需要写
<school/
>或<school></school>
,Vue解析时会帮我们创建school
组件的实例对象,即Vue
帮我们执行的:new VueComponent(options)
- 特别注意:每次调用
Vue.extend
,返回的都是一个全新的VueComponent!!!!
VueComponent
的实例对象,以后简称vc
(也可称之为:组件实例对象)Vue
的实例对象,以后简称vm。
关于this指向:
- 组件配置中:
data
函数、methods
中的函数、watch
中的函数、computed
中的函数 它们的this
均是[VueComponent实例对象
] new Vue(options)
配置中:data
函数、methods
中的函数、watch
中的函数、computed
中的函数 它们的this
均是[Vue实例对象
]。
二、分析Vue与VueComponent的关系
实例的隐式原型对象
__proto__
永远指向自己缔造者的原型对象prototype
一个重要的内置关系:VueComponent.prototype.__proto === Vue.prototype
为什么要有这个关系: 让组件实例对象(vc
) 可以访问到Vue原型
上的属性、方法。