In Angular we can very easy reload the same route if (for example) route param has changed. For example, if we have a path for user profile:
/profile/:user
every time when :user is changed we want to reload the component and load new data for that user. How to achieve that?


Here is how:


1. Create Angular route with route param:

                    {
  path: ':slug',
  component: ProfileComponent,
},
                  

 

2. In your ProfileComponent add Router and set routeReuseStrategy.shouldReuseRoute to false

                    constructor(
  public router: Router
) { }

ngOnInit(): void {

  this.router.routeReuseStrategy.shouldReuseRoute = () => false;

}
                  

 

Now, if we have link to user profile:

                    <button mat-menu-item [routerLink]="['/profile/'+ data.user.slug]">Profile</button>
                  

it will work correctly