[TOC]
简介
组件是 Vue.js 中最重要也是最有特色的功能之一,不仅仅是可以拓展的 html 元素,还是封装可用的代码,同时也是 Vue 实例。
它提供了一种抽象,让我们可以使用独立可复用的小组件来构建应用,任意类型的应用都可以抽象成一个组件树。
组件基础
为什么使用组件
- 提高开发效率,一次开发多次复用
- 简化调试步骤
- 提升项目的可维护性和拓展性(模块化)
便于多人协作
注册组件
全局注册
```html
<a name="IyUeK"></a>
### 局部注册
```html
<!--html-->
<div id="app">
<!--渲染组件-->
<last-name></last-name>
</div>
<!--引入 cdn-->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
// vue 实例
let vue = new Vue({
el:'#app',
data:{
},
//注册/声明组件
//在与 data 平级下添加 components 对象,对象里写组件名,后面接对象里面写具体 html
components:{
'last-name':{
template:'<div style="color: #0086B3">我是最后一个局部注册的组件</div>'
}
}
})
</script>
全局 VS 局部
全局注册
缺点:全局注册组件,开销比较大,权限也大,容错率低
优点:所有的 Vue 实例都可以使用
所以日常开发中,我们尽量使用局部注册
解析 DOM 模板时的 BUG
因为一些 HTML 元素对于哪些元素可以出现在其内部是有严格限制的,比如
下面要接- 、下面接、