Related to but not a duplicate of: How to keep query string parameters in URL when accessing a route of an Angular 2 app?
I have a very basic Angular app, and when I
You need to assign your query params to the queryParams Object.
Try:
this.router.navigate(['/calculator'], {queryParams: {a: 1}});
or add this to your navigation extras:
let navigationExtras: NavigationExtras = { queryParamsHandling: 'preserve', preserveFragment: true, queryParams: {a:1} };