-
- 1. 遇到的问题
-
2. 解决问题
此时是凌晨两点,我坐在电脑桌前写Bug。女朋友睡眼朦胧的跟我说 “扬帆,还不睡觉吗?你以前给我讲的vue中的 过滤器、指令、生命周期,我现在都学会了。你可以给我讲讲
组件
的知识吗?”
我: “可以,正好明天休息”
一、什么是组件
组件(Component)是 Vue.js 最强大的功能之一。
组件可以扩展 HTML 元素,封装可重用的代码。
组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:
二、组件的声明及使用
1. 全局组件
注册一个全局组件语法格式如下:
Vue.component(tagName, options)
tagName
为组件名,options
为配置选项。注册后,我们可以使用以下方式来调用组件:
代码示例:
测试结果:
全局注册往往是不够理想的。比如,如果你使用一个像 webpack 这样的构建系统,全局注册所有的组件意味着即便你已经不再使用一个组件了,它仍然会被包含在你最终的构建结果中。这造成了用户下载的 JavaScript 的无谓的增加。
有时候由于不需要全局注册每个组件。可以让组件只能用在其它组件内,用实例选项 components 注册。这就有了局部注册组件!
2. 局部注册
局部组件只能在当前注册它的vue实例中使用
代码示例:
Hello! 我是局部注册组件
测试结果:
3. 组件使用注意事项
① 组件名称如果是使用驼峰法命名,使用组件的时候要将大写字母改为小写,并且在前面加上 - ;
② 组件中的tamplate属性必须有一个唯一的根元素,否则会报错;
这个错误的意思是: 组件模板应该只包含一个根元素。应该按如下的方法来写:
三、组件的复用
有时候由于实际需要,有时候需要将组件进行任意次数的复用
代码示例:
<button class=“btn” @click=“toClick”>点击了{{count}}次