[TOC]

简介

组件是 Vue.js 中最重要也是最有特色的功能之一,不仅仅是可以拓展的 html 元素,还是封装可用的代码,同时也是 Vue 实例
它提供了一种抽象,让我们可以使用独立可复用的小组件来构建应用,任意类型的应用都可以抽象成一个组件树

组件基础

为什么使用组件

  1. 提高开发效率,一次开发多次复用
  2. 简化调试步骤
  3. 提升项目的可维护性和拓展性(模块化)
  4. 便于多人协作

    注册组件

    全局注册

    ```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 元素对于哪些元素可以出现在其内部是有严格限制的,比如

    下面要接
  • 、下面接、