首先呢vue2组件分为两类,分别是是非单文件组件和单文件组件,而组件存在的意义就在于提升代码的复用率和代码的集合度

vue中使用组件的三大步骤:
一、定义组件
二、注册组件
三、使用组件(写组件标签)
注意在定义一个组件时,用Vue.extend(options)创建,其中options和new Vue(options)时传入的那个options几乎一样,但是也有区别:
一、el不要写,最终所有的组件都要经过一个vm的管理,又vm中的el决定服务那个容器
二、data必须写成函数形式,避免组件被复用,数据存在引用关系
注意VueComponent构造函数
一、组件的本质是一个名为VueComponent的构造函数,是由Vue.extend生成的
二、我们只需要写<school></school>,vue解析时会帮我们创建school组建的实例对象,
也就是vue帮我们执行:new VueComponent(options).
三、关于this的指向
1.组件配置中:
data函数、methods中的函数、watch中的函数、computed中的函数,他们的this均指的是VueComponent实例对象
2..new Vue(options)配置中:
data函数、methods中的函数、watch中的函数、computed中的函数,他们的this均指的是Vue实例对象
组件的嵌套

组件都是由vm管理,下面组件的各种嵌套要主意好它们的关系:

此时,school组件就是app组件的子组件,student又是school的子组件,在注册组件的时候只用注册app也就是父组件就可以,其他子组件要分好逻辑关系分别注册在父组件内
