Cannot read property 'navigate' of undefined error
You need to inject the router, not just declare it as a property
constructor(private router: Router) {}
In my case, I injected the router inside the constructor using the @Inject annotation.
constructor(@Inject(Router) private router: Router) {}