Uso de Template Refs en Composition API con Vue.js

Clase 20 de 23Curso de Vue.js: Componentes y Composition API

Resumen

¿Cómo se usan los template refs en Vue.js con Composition API?

En el mundo del desarrollo web, conocer las herramientas adecuadas puede ser la diferencia entre un código propenso a errores y uno eficiente y sofisticado. Vue.js, con su API de Composition, ofrece a los desarrolladores una manera potente de interactuar y manipular elementos HTML a través de sus refs, o referencias de plantillas. Aprender a usar las template refs con la Composition API es esencial para sacar el máximo provecho a este framework.

¿Qué son los template refs?

Los template refs en Vue.js son referencias directas a elementos del DOM o componentes dentro de tus plantillas. En el Options API clásico, se accedía a estos elementos utilizando this.$refs, permitiéndote manipular y acceder a cualquier propiedad del mismo. Sin embargo, en la Composition API, la forma de trabajar con estas referencias cambia, ofreciendo un acceso más reactivo y programático.

¿Cómo crear una referencia de plantilla?

Para crear una referencia en Composition API, debes usar el API de ref. Aquí te mostramos cómo crear una referencia para un botón en tu plantilla:

  1. Agregar el botón con una referencia:
<template>
  <button ref="btn">Click</button>
</template>
  1. Declarar la referencia en la función setup:
<script>
import { ref, watch } from 'vue';

export default {
  setup() {
    // Crear una referencia reactiva
    const btn = ref(null);
    
    // Exportar la variable para accederla desde el template
    return { btn };
  }
};
</script>

¿Cómo acceder al valor de un template ref?

Una vez que el componente se monte y la referencia del template esté lista, se puede acceder al valor actual del elemento HTML utilizando .value. Este patrón permite manipular el DOM de manera reactiva y flexible.

// Acceso al valor del template ref
console.log(btn.value);

¿Cómo detectar cambios en el valor de una referencia?

Dado que las referencias pueden cambiar una vez que el componente se ha montado, es crucial manejar estos cambios de manera efectiva. Se utiliza normalmente watch para detectar y responder a los cambios:

watch(btn, (newVal) => {
  console.log(newVal); // Imprime el nuevo valor cuando el botón se monta en el DOM.
});

¿Por qué usar Composition API en lugar de Options API?

Hay varias razones para considerar el uso de Composition API:

  • Modularidad y Reusabilidad: Facilita la estructura y división del código en funciones reutilizables.
  • Mejor control del ciclo de vida: setup se ejecuta antes de que el componente se monte, ofreciendo control temprano del estado.
  • Mayor claridad: La separación lógica mejora la claridad en aplicaciones grandes y complejas.

Vue.js, con su Composition API y el uso de template refs, provee a los desarrolladores herramientas poderosas para crear aplicaciones web adaptativas y reactivas. No dudes en seguir explorando y experimentando para encontrar tu flujo óptimo de trabajo con Vue.js. ¡Sigue aprendiendo y expandiendo tus conocimientos para convertirte en un experto en Vue.js!