En Angular, la mejor práctica es cargar y configurar el enrutador en un módulo separado de nivel superior. El enrutador está dedicado al enrutamiento e importado por el AppModule. Por convención, el nombre de la clase del módulo es AppRoutingModule y pertenece a app-routing.module.ts en el directorio src/app.
Crea un nuevo proyecto, según Angular - Local, agregue Bootstrap según Angular - Boostrap y cree la aplicación híbrida base según Angular - Material.
hito2-hibridaCree los componentes album y foto.
src/app/app.component.html
    <mat-card> (con todas sus etiquetas internas)  <mat-drawer-container>  
    ...
    </mat-toolbar>
      
    <mat-card class="example-card">
      ...
    </mat-card>
      
  </mat-drawer-container>
En src/app/foto/foto.component.html
<p>foto works!</p>
por la etiqueta <mat-card>
<mat-card class="example-card">
  <mat-card-header>
    <div mat-card-avatar class="example-header-image"></div>
    <mat-card-title>Shiba Inu</mat-card-title>
    <mat-card-subtitle>Dog Breed</mat-card-subtitle>
  </mat-card-header>
  <img mat-card-image src="https://material.angular.io/assets/img/examples/shiba2.jpg" alt="Photo of a Shiba Inu">
  <mat-card-content>
    <p>
      The Shiba Inu is the smallest of the six original and distinct spitz breeds of dog from Japan.
      A small, agile dog that copes very well with mountainous terrain, the Shiba Inu was originally
      bred for hunting.
    </p>
  </mat-card-content>
  <mat-card-actions>
    <button mat-button>LIKE</button>
    <button mat-button>SHARE</button>
  </mat-card-actions>
</mat-card>
src/app/app.component.css
    .example-card  y example-header-imagesrc/app/foto/foto.component.cssLa etiqueta  <router-outlet> actúa como un marcador de posición para que Angular llene dinámicamente según el estado actual del enrutador (De acuerdo con la URL que llega del navegador).
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { FotoComponent } from './foto/foto.component';
import { AlbumComponent } from './album/album.component';
const routes: Routes = [
    { path: "foto", component: FotoComponent },
    { path: "album", component: AlbumComponent },
    { path: "**", redirectTo: "album" }
  ];
    
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
  Coloque la etiqueta <router-outlet> en el lugar donde se encontraba la etiqueta <mat-card>.
<mat-drawer-container>  
  ...
  <mat-toolbar color="primary">
    ...
  </mat-toolbar>
  <router-outlet></router-outlet>
</mat-drawer-container>
Actualice el navegador o (re)inicie el servidor
  
  
Para ir de un URL a otro mediante la aplicación se utiliza el enrutamiento mediante el atributo routerLink.
src/app/app.component.html
    ...
  <mat-drawer #enlaces class="example-sidenav" mode="over">
    <p> Enlaces </p>
  </mat-drawer>
...
por
...
  <mat-drawer #enlaces class="example-sidenav" mode="over">
    <ul>
      <li><a routerLink="/album">Album</a></li>
      <li><a routerLink="/foto">Foto</a></li>
    </ul>
  </mat-drawer>
...
Foto y Album