Navegación de Rutas con Vue Router en Aplicaciones SPA
Clase 33 de 53 • Curso Profesional de Vue.js 2
Resumen
¿Cómo navegar rutas en Vue Router?
Vue Router es una herramienta poderosa para manejar rutas en aplicaciones Vue. Aprender a navegar entre rutas eficazmente es crucial para crear experiencias de usuario fluidas y coherentes.
¿Cómo crear un componente y asociarlo a una ruta?
Para comenzar a navegar entre rutas, necesitas un componente que estará asociado a una ruta específica. Aquí te mostramos cómo hacerlo:
-
Crear un componente nuevo:
- Crea un componente llamado
About.view
. - Ubica este nuevo componente dentro de la carpeta
components
. - Elimina las secciones
<script>
y<style>
, manteniendo solo el HTML básico. - Añade un
<div>
con la clasecontainer
y un<h1>
con la clasetitle
que diga "Nosotros".
- Crea un componente llamado
-
Definir la nueva ruta:
- Dirígete al archivo
routes.js
y define el camino para el componente recién creado. - Importa el componente
About
y crea una nueva ruta:
{ path: '/about', component: About, name: 'about' }
- Dirígete al archivo
Este proceso facilita la creación de componentes y rutas en Vue, esencial para manejar la navegación en tus aplicaciones.
¿Cómo navegar usando elementos HTML?
Para ofrecer una experiencia de usuario más intuitiva, necesitamos proporcionar herramientas de navegación en la interfaz de usuario:
-
Modificar el archivo
Header.view
:- Dentro de
Header.view
, localiza la secciónnavi-write.navi-menu
. - Añade elementos
router-link
que actúan como enlaces HTML y permiten la navegación entre rutas:
<router-link class="navitem" to="/search">Buscar</router-link> <router-link class="navitem" to="/about">Nosotros</router-link>
- Dentro de
-
Estilos con Bulma:
- Aplica clases de Bulma, como
navitem
, para mejorar el aspecto visual de los enlaces.
- Aplica clases de Bulma, como
Navegación a través de router-link
es simple y efectiva, permitiendo a los usuarios moverse entre diferentes secciones de tu aplicación sin modificar la URL directamente.
¿Cómo trabajar con rutas programáticas?
A veces, necesitarás navegar entre rutas usando el código en lugar de los enlaces HTML. Esto es común cuando el flujo de tu aplicación depende de eventos del usuario o del backend:
-
Crear un componente para detalles:
- Crea
TrackDetail.view
dentro decomponents
. - En este componente, usa la función
data
para establecer un objetotrack
vacío.
- Crea
-
Definir rutas parametrizadas:
- En
routes.js
, crea una ruta dinámica que aceptará parámetros:
{ path: '/track/:id', component: TrackDetail, name: 'track' }
- En
-
Uso de
this.$router
:- Dentro del método creado, lee el parámetro
id
de la URL:
this.$router.push({ name: 'track', params: { id: trackId } })
- Asegúrate de manejar el
router-view
yrouter
adecuadamente para no tener errores de navegación.
- Dentro del método creado, lee el parámetro
El uso de rutas dinámicas y navegación programática permite una flexibilidad extraordinaria al manejar contenido variable y personalizado dentro de una misma estructura de página.
¿Cómo activar el modo de historia?
Para mejorar la usabilidad y apariencia de las URL:
-
Configuración del
history mode
:- Modifica la instancia del router en
main.js
:
const router = new VueRouter({ mode: 'history', routes: [...] })
- Este ajuste permite URLs limpias sin el carácter
#
.
- Modifica la instancia del router en
-
Consideraciones del servidor:
- Asegúrate de que el servidor web admita la configuración del
history mode
para evitar posibles problemas de enrutamiento del lado del cliente.
- Asegúrate de que el servidor web admita la configuración del
Activar el history mode
proporciona una apariencia profesional y enfatiza una estructura de URL semántica, algo esencial en aplicaciones modernas.
Aprender a navegar rutas en Vue Router no solo mejora tus habilidades de desarrollo en Vue, sino que también te prepara para crear experiencias de usuario ricas y dinámicas. ¡Sigue explorando y mejorando cada día tu aplicación!