组件:页面上的任何一个部分都是一个组件,组件由html,css,js组成。
特点:灵活、复用、便于维护。
创建方式:
全局组件:任何vm都可以用 Vue.component()
Vue.component("navTo",options);
参数一:组件名称
参数二:组件的配置项,vue的配置中有什么,这个配置项中就有什么,也有生命周期,组件就是一个小型的vue实例。唯一的区别就是配置项中的data不是一个对象而是一个函数。
Q:为什么组件中的data不是对象而是函数?
A:如果两个实例引用同一个对象,当其中一个实例的属性发生改变的时候,另一个实例属性也会发生改变,只有当两个实例拥有自己的作用域时,才不会相互干扰。
局部组件:只能局部使用 components()
单文件组件:.vue文件,也是由html,css,js组成。
template标签:类似于html模板,用来写组件的结构。里面有一个唯一的子元素,用来放html标签。
script标签:用来书写js代码。
style标签:用来书写css代码。