什么是组件?html
组件是vue中的一个可复用实例,因此new Vue()是vue中最大的那个组件,根组件,有名字,使用的时候以单标签或双标签使用vue
vm = newVue() 是最大的组件,具备不少实用性的属性,好比data,methods,computed等,因此定义的组件也有这些属性函数
组件的出现,就是为了拆分vue实例的代码量的,可以让咱们以不一样的组件,来划分不一样的功能模块,未来咱们须要什么样的功能,就能够去调用对应的组件便可spa
组件的定义:component
组件分为全局注册组件和局部注册组件htm
Vue使用Vue.component()方法定义组件,这个方法有两个参数对象
第一个参数:是组件名,第二个参数是options对象blog
这个options对象里有tempalte、data、methods、computed等io
template:模板 里面是html格式,里面只能有一个顶层标签模板
data:是存放数据的,它是一个函数,return 一个对象,数据都放在这个对象里
注意:定义组件的时候,首字母必定要大写
全局组件:
注册完成以后,在vue实例中的任何地方均可以使用,而且无需挂载到实例(实例中的components)下面
如何使用组件呢?
使用组件标签
局部组件:
局部组件和全局组件的区别就是局部组件须要挂在到实例的components中,而全局组件不须要
组件的调用:
双标签的时候,h小写 <headers></headers>
单标签的时候, H大写 <Headers/>
组件中的 data 和 实例中的 data 有什么区别?
1. 组件能够有本身的 data 数据
2. 组件的 data 和 实例的 data 有点不同,实例中的data,能够为一个对象,但组件中的data,必须是个方法。
3. 组件中的 data 除了必须为一个方法以外,这个方法内部,还必须返回一个对象才行。
4. 组件中的 data 数据 使用方法 和 实例中的data 使用方式彻底同样。