Angular Router – Tutorial y ejemplo

  • by

Resumen: mostrar cómo usar Angular Router con un tutorial y ejemplo para las rutas en Angular.

Recuerdo que el buen AngularJS introdujo buenas cosas como las SPA que son aplicaciones de una sola página en donde los controladores se iban montando en un contenedor conforme se navegaba.

Angular 2 (o 4, 5, 8, 10, 50 o la versión que sea cuando leas este post) también tiene un Router muy eficaz y fácil de configurar. Justamente veremos eso hoy: una introducción al modo de uso del enrutador de angular.

Nota: si quieres puedes ver y editar el resultado final aquí.

Angular Router

Asumo que has generado tu proyecto y elegido que sí quieres agregar rutas al crearlo; si no, crea los archivos que indico.

Comenzamos con app-routing.module.ts que es en donde se guardan las rutas, está ubicado en el directorio app. Lo único que hace es importar el router o enrutador de Angular y exportar las rutas, que son un arreglo.

Más adelante veremos cómo configurar las rutas; por el momento se ve así:

Importar enrutador en app principal

Después, en nuestro app.module.ts hay que importar el enrutador:

Y luego en @NgModule dentro de los imports agregar AppRoutingModule así:

De manera que ahora es parecido a lo siguiente:

Angular Router en la vista

El contenido de los componentes será colocado dentro del componente del enrutador llamado router-outlet. Por lo tanto sugiero que se coloque el componente dentro de la app principal, abajo del menú de navegación:

Así, aunque se navegue a otro lugar, el menú de navegación quedará siempre intacto. Es momento de pasar a configurar las rutas.

Las rutas y los componentes

Cada ruta debería pertenecer a un componente; el mismo será inyectado dentro de router-outlet. Voy a generar algunos componentes y para ejemplificar usaré mascotas.

Generamos el de listar-mascotas usando la consola y el siguiente comando:

ng generate listar-mascotas

Como en la imagen:

Así voy a generar otro, el de agregar-mascota. El contenido de cada uno es como se ve a continuación:

Verás cómo ese contenido es inyectado en el router outlet.

Configurando rutas y menú de navegación

Volvamos a app-routing.module.ts e importemos los componentes que vamos a usar en el Angular Router:

Después, agregamos elementos al arreglo de rutas:

  • Con path indicamos la ruta que estará en el navegador. Es importante que las mismas no inicien con una barra /
  • En component indicamos el componente que se usará cuando se llegue a esa ruta
  • Cuando usamos path vacía indicamos que redireccione a /mascotas con redirectTo
  • Finalmente cuando sea cualquier otra ruta (**) que no sea la vacía redireccionamos a mascotas; que aquí igual podríamos indicar un componente de 404 not found.

Hasta el momento se debería ver así:

Después agregamos enlaces en nuestro menú de navegación y toda la app se ve así:

Hay que usar routerLink para indicar la ruta. Aparte de eso no hay más ciencia, son simples enlaces.

Probando rutas con Angular Router

Ahora ejecutamos nuestra app con ng serve y al visitar sin ninguna ruta se hace la redirección. El menú funciona como un encanto:

Uso de Angular Router - Tutorial y ejemplos de enrutador

Angular Router en ejecución

Notas finales

Sí, yo sé que es muy simple el estilo, pero tranquilo; puedes agregarle Angular Material o tus propios estilos 😉

No olvides que puedes probar el resultado en este enlace. Ah, la documentación oficial la encuentras aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *