VueComponent构造函数
1.组件的本质是一个名为VueComponent的构造函数,是Vue.extend生成的。
2.注册完组件,只需要写注册时的组件名作为标签(单标签或者双标签都可以),Vue解析时会创建组件的实例对象即执行new VueComponent(options)。每用一次组件,就会有一个它的新实例被创建。
3.每次调用Vue.extend,返回的都是一个全新的VueComponent这个构造函数,因为每次调用函数生成的作用域是独立的,所以组件是可以复用的,把组件当做一种标签使用,每用一次,它内部的代码就会完整的执行一次,就像是一个函数一样,使用组件就相当于在调用函数,实参就相当于组件的属性传值
4.在组件配置中,data函数、methods中的函数、computed中的函数、生命周期函数等this都指向VueComponent实例对象也就是当前组件。在new Vue(options)配置中methods中的函数、computed中的函数、生命周期函数等this都指向Vue实例对象。
5.因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。仅有的例外是new Vue有像 el 这样根实例特有的选项。
内置关系
VueComponent.prototype.__proto__===Vue.prototype
原因:让组件实例对象可以访问到Vue原型上的属性和方法(Vue实例就是根组件)