Had similar issue to what @ktsangop described but in my case there was click event listener along with routerLink directive, and the navigation from routerLink was interrupted by the one in event listener leading to unexpected behaviour
Html code:
<a
mat-tab-link
[routerLink]="tab.link"
(click)="selectTab($event, tab)"
>
{{ tab.label | translate }}
</a>
Ts code:
public selectTab(event: Event, tab: Tab): void {
event.preventDefault();
event.stopPropagation();
this.router.navigateByUrl(tab.link);
}