Creación y Registro de Componentes en Vue.js

Clase 23 de 53Curso Profesional de Vue.js 2

Resumen

¿Qué son los componentes en Vue?

Los componentes en Vue son una característica esencial del framework que permite crear elementos HTML personalizados. Esta capacidad nos otorga la flexibilidad de escribir un código más semántico, estructurado y fácil de gestionar. Puedes comprobar cómo se crean componentes en Vue para mejorar el diseño de tus aplicaciones web y hacerlas más eficientes y reutilizables.

¿Cómo crear y registrar componentes en Vue?

Creación de un nuevo componente

El proceso de creación de un componente en Vue comienza con la creación de un nuevo archivo con la extensión .vue. Supongamos que tenemos un proyecto básico configurado con un archivo principal app.vue y un archivo main.js. Aquí te mostramos cómo proceder:

  1. Crear el archivo del componente: Crea un archivo llamado ChildComponent.vue dentro de la carpeta src. Dentro del nuevo archivo, define una estructura básica utilizando un h1 para mostrar el texto: "Este es un componente hijo".

  2. Consideraciones de estructura: Es fundamental recordar que un componente debe tener un único padre en su estructura HTML. Esto significa que no se deben tener dos elementos HTML como padres principales, ya que esto generará errores de compilación.

<template>
  <h1>Este es un componente hijo</h1>
</template>

Registro global de componentes

Ahora que tienes un componente, el siguiente paso es registrarlo para que esté disponible en toda la aplicación. Esto se realiza en main.js utilizando la función Vue.component.

import Vue from 'vue';
import App from './App.vue';
import ChildComponent from './ChildComponent.vue';

Vue.component('child', ChildComponent);

new Vue({
  render: h => h(App),
}).$mount('#app');

¿Cuándo usar el registro global?

El registro global es útil cuando un componente se va a usar en múltiples partes de la aplicación o si se está creando una librería de plugins. Sin embargo, no siempre es lo más recomendable debido a cuestiones de performance.

¿Qué es el registro local de componentes?

El registro local implica declarar y utilizar un componente internamente dentro de otro componente específico, lo que mejora el rendimiento de la aplicación. Este método se aplica cuando un componente no se utiliza ampliamente en la aplicación.

Crear un componente local

  1. Definir un nuevo componente local: Crea un archivo LocalComponent.vue con contenido similar al archivo de ChildComponent.
<template>
  <h1>Este es un componente local</h1>
</template>

Registro local en un componente

Importa y declara el nuevo componente local dentro del componente principal o en otro componente:

<template>
  <div>
    <LocalComponent />
  </div>
</template>

<script>
import LocalComponent from './LocalComponent.vue';

export default {
  components: {
    LocalComponent,
  },
}
</script>

Transformaciones automáticas de Vue

Vue automatiza la conversión de sintaxis PascalCase a kebab-case, lo cual facilita la escritura de elementos HTML personalizados. Por ejemplo, <LocalComponent /> puede ser utilizado como <local-component></local-component>.

Exploración de la estructura de componentes

Vue ofrece herramientas de desarrollo que permiten inspeccionar la estructura de los componentes, su jerarquía y las propiedades compartidas. Esto es útil para comprender cómo interactúan los datos y los componentes dentro de la aplicación.

A partir de este conocimiento, puedes comenzar a implementar tus primeros componentes personalizados en aplicaciones más grandes. ¡No dudes en seguir experimentando y aprendiendo para maximizar el potencial de tus desarrollos con Vue!