En este post te mostraré cómo navegar a otra ruta en una SPA de Angular usando TypeScript. Es decir, navegar en el click de un botón o en determinada acción, y no a través de un enlace.
Lo único que tenemos que hacer es importar al router, inyectarlo en el constructor y después invocar a navigateByUrl (igualmente el router tiene más métodos).
Paso 1: importar el router
En el componente en donde quieres navegar a otra ruta con Angular coloca:
import {Router} from "@angular/router";
Paso 2: inyectarlo en el constructor
Ahora indica que quieres usar el router dentro del constructor de tu componente:
  constructor(private router: Router) {
  }
Paso 3: navegar a otra ruta
Finalmente, en cualquier método de tu constructor invoca al método navigateByUrl. Por ejemplo, yo tengo el siguiente método:
navegarAFormulario() {
  this.router.navigateByUrl("/productos/agregar");
}
Recuerda que estás navegando por URL, es decir, debes indicar la ruta a la que quieres navegar. En este caso yo invoco a ese método desde un botón que usa Angular Material:
<button (click)="navegarAFormulario()" mat-button color="accent" mat-raised-button>Agregar producto</button>