关于VUE如何自定义组件 | 青训营笔记

62 阅读2分钟

VUE自定义组件

VUE框架简介

Vue.js是一个基于MVVM模式的用于构建用户界面的渐进式框架,它具有易学易用、高效灵活等特点,并且与其它JavaScript库非常兼容。自定义组件是Vue.js 中一项非常重要的能力,通过它可以将代码模块化,方便重用,提高工作效率,以下是一些自定义组件的学习笔记。

VUE组件

1.组件基础

Vue.js组件由一个模板和一组数据构成,在模板中使用数据来绑定告诉 vue.js 如何渲染这个组件,下面是一个最基础的组件代码:

Vue.component('hello-world', {
  template: '<div>Hello World!</div>'
})

这段代码定义了一个组件 hello-world ,它的模板内容是“Hello World!”, 可以在需要使用该组件的地方使用如下代码进行调用:

<hello-world></hello-world>

2.传递数据

通过props传递数据是vue.js组件非常有用的能力,以下是一个示例:

Vue.component('hello-world', {
  props: ['name'],
  template: '<div>Hello {{ name }}!</div>'
})

在这个示例中,我们添加了一个props属性,它接受一个名为name的参数。我们可以在模板中添加这个参数,使用双括号插值来显示它。调用代码:

<hello-world name="Vue"></hello-world>

输出为:Hello Vue!

3.插槽

有时候我们需要更进一步的自定义组件,例如可以为组件提供插槽(slot)。插槽可以告诉组件在哪里渲染一些内容.下面是一个示例代码:

Vue.component('mybutton', {
  template: `
    <button>
      <slot>Click me!</slot>
    </button>
  `
});

在这个示例中,我们设置了一个空插槽<slot></slot>。模板中如没有插入任何组件内容,将会显示默认内容“Click me!”。当我们在使用时插入其他内容代码如下:

<mybutton>
  My customized button
</mybutton>

输出代码为:

<button>
  My customized button
</button>

4.运用与总结

通过以上几个示例,我们可以举一反三尝试更复杂更丰富的组件编写,例如创建一个表单组件,选择组件,弹出层组件等等。总之,自定义组件是Vue.js中非常有用和重要的能力,它可以帮助我们快速构建多样、高复用的UI组件库。