组件
Vue中使用组件的三大步骤:
一、定义组件(创建组件)
使用Vue.extend(option)创建,其中options和new Vue(options)时传入的那个option几乎一样,但也有一些区别
1.el不要写,因为最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器
2.data必须写成函数,避免组件被复用时,数据存在引用关系
使用template可以配置组件结构
二、注册组件
1.局部注册:靠 new Vue的时候传入 components 选项
2.全局注册:靠 Vue.component('组件名', 组件)
三、使用组件(写组件标签)
<school></school>
注意点:
简写方式: const school = Vue.extend(options) 可简写为:const school = options
关于VueComponent:
1.school组件本质是一个名为VueComponent的构造函数,且不是程序员定义的,是Vue.extand生成的
2.我们只需要写<school></school>,Vue解析时会帮我们创建school组件的实例对象,即Vue帮我们执行的:new VueComponent(options)
3.每次调用Vue.extend,返回的是一个全新的VueComponent
4.this指向:
(1)组件配置中:
data函数、methods中的函数、watch中的函数、computed中的函数 它们的this均是【VueComponent实例对象】。
(2)new Vue(options)配置中:
data函数、methods中的函数、watch中的函数、computed中的函数 它们的this均是【Vue实例对象】。
5.VueComponent的实例对象,简称vc(组件实例对象),Vue的实例对象,简称vm
6. VueComponent.prototype._proto_ === Vue.prototype 可以让组件实例对象(vc)访问到Vue原型上的方法、属性