what is the difference between this.route.params and this.route.snapshot.params in angular ActivatedRoute

As its mentioned on official angular website.

Snapshot: You get the current snapshot of this route at a particular moment in time. (Contains the information about a route associated with a component loaded in an outlet at a particular moment in time. ActivatedRouteSnapshot can also be used to traverse the router state tree.) You can check description with example in the following link. https://angular.io/api/router/ActivatedRouteSnapshot#description

params: Is A Observable and you can subscribe to it. (An observable of the matrix parameters scoped to this route.) You can check description with example in the following link https://angular.io/api/router/ActivatedRoute#description