Manual de Fundamentos de Vue - JS: Gogodev / @jjruizempresa
Manual de Fundamentos de Vue - JS: Gogodev / @jjruizempresa
IMPORTANTE
El contenido de este pdf lo tienes también en vídeo en el canal de YouTube
https://youtube.com/c/gogodev , dentro de la lista de reproducción: Curso de Vue.
Instalación y Configuración
- Para comenzar, necesitarás tener Node.js y Vue CLI instalados en tu sistema. Si aún
no los tienes, puedes instalar Node.js desde su sitio web oficial (https://nodejs.org/) y
Vue CLI utilizando npm (Node Package Manager) con el siguiente comando en tu
terminal:
- Una vez que hayas instalado Vue CLI, puedes crear un nuevo proyecto Vue.js
utilizando el siguiente comando en tu terminal:
Conceptos Básicos
Lógica (Script): Contiene los datos que el componente necesita para renderizarse
correctamente. Estos datos pueden ser simples variables, objetos, o incluso funciones que
devuelven datos reactivos.
También contiene las funciones que el componente utiliza para realizar acciones
específicas, como manejar eventos, realizar operaciones de cálculo, o interactuar con otros
componentes.
Estilo (style): Aquí se define el estilo específico del componente utilizando CSS. Para evitar
que estos estilos afecten a otros componentes o causen conflictos, utilizamos el atributo
scoped dentro de la etiqueta <style>, lo que limita su alcance únicamente al componente
actual.
Ejemplo de un componente :
Ejemplo:
Directivas: Las directivas son atributos especiales que se utilizan en los elementos HTML
para agregar funcionalidad dinámica y reactiva. Estas directivas proporcionan una forma
conveniente de manipular el DOM, enlazar datos y controlar el comportamiento de los
elementos en respuesta a eventos y cambios en el estado de la aplicación.
Tipos de Directivas:
En Vue.js, hay diferentes tipos de directivas que se utilizan para realizar diversas tareas.
Algunas de las directivas más comunes incluyen:
Ejemplo:
v-on: La directiva v-on se utiliza para escuchar eventos en elementos HTML y ejecutar
acciones específicas en respuesta a esos eventos. Puedes utilizar esta directiva para
manejar eventos del DOM, como clics de ratón, pulsaciones de teclas, cambios de entrada,
entre otros.
Ejemplo:
Estos son solo algunos ejemplos de las directivas disponibles en Vue.js. Cada directiva
tiene su propia función y puede ser utilizada para diferentes propósitos en la construcción
de aplicaciones Vue.js.
En resumen, las directivas en Vue.js son poderosas herramientas que te permiten agregar
comportamiento dinámico a tus aplicaciones, enlazar datos y controlar el renderizado
condicional de elementos en el DOM.
En Vue.js, hay diferentes tipos de data binding que se pueden utilizar para establecer esta
conexión bidireccional:
Ejemplo:
Ejemplo:
v-model: La directiva v-model proporciona una forma conveniente de enlazar datos de
entrada (como inputs, selects, textareas, etc.) a propiedades del modelo de datos. Con
v-model, cualquier cambio en el valor de entrada se reflejará automáticamente en el modelo
de datos y viceversa.
Ejemplo:
Estos son solo algunos ejemplos de cómo Vue.js proporciona una sintaxis fácil de usar para
establecer el enlace bidireccional entre la vista y el modelo de datos. Esto hace que el
desarrollo de aplicaciones Vue.js sea más eficiente y fácil de mantener, ya que los cambios
en los datos se reflejan automáticamente en la vista y viceversa.
El ciclo de vida de un componente en Vue.js se refiere al conjunto de etapas por las que
pasa un componente desde su creación hasta su destrucción. Durante este ciclo, Vue.js
proporciona diversos "hooks" o ganchos de ciclo de vida que te permiten ejecutar código en
diferentes momentos clave del ciclo de vida del componente. Esto te brinda la flexibilidad
necesaria para realizar acciones específicas en cada etapa del ciclo de vida.
beforeCreate: Este gancho se ejecuta antes de que se cree la instancia del componente.
En este punto, el componente aún no tiene acceso a las opciones de datos (data) ni a los
métodos (methods) definidos en el componente.
created: Se ejecuta después de que se haya creado la instancia del componente, pero
antes de que se monte en el DOM. En este punto, el componente ha inicializado sus datos y
métodos, pero aún no se ha agregado al DOM.
beforeUnmount: Este gancho se ejecuta justo antes de que el componente se elimine del
DOM. En este punto, el componente aún es accesible y funcional, pero está a punto de ser
eliminado.
Puedes utilizar estos ganchos del ciclo de vida para realizar diversas acciones, como
inicializar datos, realizar llamadas a la API, suscribirse a eventos, limpiar recursos y más.
Esto te permite controlar el comportamiento del componente en cada etapa del ciclo de vida
y garantizar que se ejecute el código necesario en el momento adecuado.
4. Eventos y Métodos
En Vue.js, los eventos y los métodos son componentes clave para la interactividad de tus
aplicaciones. Te permiten responder a acciones del usuario, como clics de ratón,
pulsaciones de teclas, cambios de entrada, entre otros, y ejecutar código en respuesta a
estos eventos.
Eventos:
Los eventos en Vue.js son acciones que ocurren en la interfaz de usuario, como hacer clic
en un botón, ingresar texto en un campo de entrada, o desplazarse por una lista. Puedes
escuchar estos eventos utilizando la directiva ‘v-on’ y ejecutar funciones de manejo de
eventos en respuesta a ellos.
Ejemplo:
En este ejemplo, estamos utilizando la directiva v-on para escuchar el evento de clic en el
botón y ejecutar la función handleClick cuando se produce el evento.
En Vue.js 3, puedes definir tanto eventos como métodos dentro del bloque script setup. Aquí
tienes un ejemplo de cómo hacerlo:
Ejemplo:
En este ejemplo:
- Importamos la función ref de Vue para crear una referencia reactiva que almacena el
contador.
- Definimos una variable contador utilizando ref para almacenar el estado del
contador.
- Definimos un método incrementarContador() que incrementa el valor del contador
cada vez que se llama.
- En la plantilla, usamos @click para escuchar el evento de clic en el botón y llamar al
método incrementarContador().
Con ‘script setup’, el código es más conciso y legible. Tanto los eventos como los métodos
están disponibles directamente en la plantilla y pueden acceder a las variables reactivas
definidas en el mismo bloque ‘script setup’. Esto simplifica la estructura del componente y
mejora la claridad del código.
Vue.js ofrece métodos simples y poderosos para realizar renderizado condicional y trabajar
con listas en tus componentes. Estas características te permiten controlar dinámicamente
qué elementos se muestran en tu interfaz de usuario y cómo se presentan los datos de tus
listas.
Renderizado Condicional:
Ejemplo v-if :
La diferencia entre ‘v-if’ y ‘v-show’ radica en cómo afectan al DOM. ‘v-if’ agrega o elimina
completamente el elemento del DOM según la evaluación de la expresión, mientras que
‘v-show’ solo cambia el estilo display del elemento para mostrar u ocultar.
Listas:
Para renderizar listas de datos en Vue.js, puedes utilizar la directiva ‘v-for’, que te permite
iterar sobre una matriz u objeto y generar contenido dinámicamente basado en cada
elemento.
En este ejemplo, ‘lista’ es una matriz de objetos, y para cada objeto en la matriz, se genera
un elemento <li> en la lista.
Emisión de Eventos:
Propiedades Personalizadas:
Estas son algunas de las formas más comunes de comunicación entre componentes en
Vue.js. Utilizando la emisión de eventos y las propiedades personalizadas, puedes construir
aplicaciones Vue.js altamente modularizadas y reutilizables, donde los componentes
pueden interactuar entre sí de manera efectiva.
7. Vue Router
Vue Router es una biblioteca oficial de Vue.js que proporciona una solución para la
navegación en aplicaciones Vue.js. Permite definir rutas en tu aplicación y asociarlas con
componentes específicos, lo que te permite cambiar dinámicamente las vistas de tu
aplicación en respuesta a la navegación del usuario.
Principales Características:
Enrutamiento Declarativo: Con Vue Router, puedes definir las rutas de tu aplicación
utilizando una sintaxis declarativa similar a la de Vue.js. Esto te permite especificar las rutas
y las correspondientes vistas de manera clara y legible.
Para utilizar Vue Router en tu aplicación Vue.js, primero debes instalarlo utilizando npm o
yarn. Luego, debes configurar las rutas de tu aplicación utilizando la API proporcionada por
Vue Router. Finalmente, debes integrar el enrutador en la instancia de Vue de tu aplicación
principal.
Ejemplo de configuración de Vue Router:
En este ejemplo, hemos definido dos rutas: una para la página de inicio (‘/’) y otra para la
página "Acerca de" (‘/about’). Cada ruta se asocia con un componente específico.
Con esto, hemos configurado correctamente Vue Router en nuestra aplicación Vue.js, lo
que nos permite realizar la navegación entre las diferentes vistas de la aplicación de manera
fluida y eficiente.
8. Pinia.js
Pinia.js es una biblioteca de gestión del estado para aplicaciones Vue.js que proporciona
una alternativa eficiente y reactiva para el manejo del estado de la aplicación. Está diseñada
para simplificar y mejorar la experiencia de desarrollo al proporcionar una arquitectura
simple y reactiva para el manejo del estado.
Características Principales:
Arquitectura Reactiva: Pinia.js utiliza una arquitectura reactiva basada en Vue 3, lo que
significa que el estado de la aplicación se actualiza de manera reactiva en respuesta a
cambios en los datos. Esto garantiza que la interfaz de usuario se actualice
automáticamente para reflejar el estado más reciente de la aplicación.
Gestión Centralizada del Estado: Pinia.js adopta un enfoque de gestión centralizada del
estado, donde el estado de la aplicación se almacena en un único almacén global. Esto
facilita el acceso y la manipulación del estado desde cualquier parte de la aplicación, lo que
mejora la modularidad y la mantenibilidad del código.
API Intuitiva: Pinia.js proporciona una API intuitiva y fácil de usar para definir el estado de
la aplicación, mutar el estado y acceder a él desde componentes Vue. Esto hace que sea
rápido y sencillo implementar la gestión del estado en tu aplicación y reduce la curva de
aprendizaje para los desarrolladores.
Soporte para DevTools: Pinia.js ofrece soporte integrado para las herramientas de
desarrollo de Vue, como Vue DevTools. Esto facilita la depuración y la inspección del estado
de la aplicación durante el desarrollo, lo que ayuda a identificar y solucionar problemas de
manera más eficiente.
Uso de Pinia.js:
Para utilizar Pinia.js en tu aplicación Vue.js, primero debes instalarlo mediante npm o yarn.
Luego, puedes definir y configurar tus almacenes de estado utilizando la API proporcionada
por Pinia.js. Finalmente, puedes integrar los almacenes de estado en tu aplicación Vue.js
para comenzar a gestionar el estado de manera eficiente y reactiva.
Con Pinia.js, puedes crear aplicaciones Vue.js más escalables, intuitivas y mantenibles al
proporcionar una solución robusta y eficiente para el manejo del estado de la aplicación.
Conclusión
Con este manual, has adquirido una base sólida en los fundamentos de Vue.js 3. Al
comprender y practicar estos conceptos, estás preparado para desarrollar aplicaciones web
modernas y dinámicas utilizando este poderoso framework.
Vue.js 3 ofrece una sintaxis intuitiva, una arquitectura flexible y herramientas poderosas que
te permiten crear aplicaciones web escalables y mantenibles. Con su enfoque en la
reactividad, la modularidad y la facilidad de uso, Vue.js se ha convertido en una opción
popular para desarrolladores de todo el mundo.
¡A PROGRAMAR!