Implementación de Routing en Angular: Creación de Componentes y Páginas

Clase 2 de 25Curso de Angular Router: Lazy Loading y Programación Modular

Resumen

Todas las aplicaciones front-end van a necesitar de múltiples páginas, las cuales serán identificadas por una ruta. Veamos cómo puedes relacionar rutas y componentes en Angular.

Rutas y Componentes

Puedes enlazar componentes a las rutas para cuando ingreses a X ruta, se muestre Y componente.

1. Creando componentes

Comienza creando un par de componentes de prueba. Apóyate del CLI de Angular de la siguiente manera:

  • ng g c components/about
  • ng g c components/catalogo

2. Creando el routing

Al utilizar el comando ng new <project-name> Angular nos pregunta lo siguiente:

Would you like to add Angular routing? (y/N)

Si contestamos que sí, creará el siguiente archivo junto con el módulo principal de tu app.

// app-routing.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

const routes: Routes = [];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Si contestaste que no, no te preocupes. Puedes crearlo manualmente e importarlo en el archivo app.module.ts

// app.module.ts
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  // ..
  imports: [
    AppRoutingModule
  ],
})
export class AppModule { }

3. Imports de componentes en el routing

A continuación, importa en este nuevo archivo los componentes, y crea una regla para crear una ruta para cada uno de ellos de la siguiente manera:

// app-routing.module.ts
import { AboutComponent } from './components/about/about.component';
import { CatalogoComponent } from './components/catalogo/catalogo.component';

const routes: Routes = [
  {
    path: 'about',
    component: AboutComponent
  },
  {
    path: 'catalogo',
    component: CatalogoComponent
  }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

4. Directiva para el renderizado de páginas

Finalmente, tienes que importar la directiva <router-outlet> en el componente raíz de tu aplicación.

<!-- app.component.html -->
<router-outlet></router-outlet>

Angular utiliza esta directiva para renderizar el componente de la ruta actual donde el usuario se encuentre.

Ingresa a localhost:4200/catalogo o localhost:4200/about, para observar cada componente.


Contribución creada por: Kevin Fiorentino.