Question: I'm using angular 5.0.3, I would like to start my application with a bunch of query parameters like `/app?param1=hallo&param2=123`. Every tip given in [How to get query params from url in Angular 2?](https://stackoverflow.com/questions/35688084/how-get-query-params-from-url-in-angular2/37962626) does not work for me.

Any ideas how to get query parameters work?

```
private getQueryParameter(key: string): string {
  const parameters = new URLSearchParams(window.location.search);
  return parameters.get(key);
}

```

This private function helps me to get my parameters, but I don't think it is the right way in new Angular environment.

[update:]
My main app looks like

```
@Component({...})
export class AppComponent implements OnInit {

  constructor(private route: ActivatedRoute) {}

  ngOnInit(): void {
    // would like to get query parameters here...
    // this.route...
  }
}

```

Answer: 
Angular [Router](https://angular.io/api/router/Router) provides method [*parseUrl(url: string)*](https://angular.io/api/router/Router#parseUrl) that parses url into [UrlTree](https://angular.io/api/router/UrlTree). One of the properties of UrlTree are queryParams. So you can do sth like:

```
this.router.parseUrl(this.router.url).queryParams[key] || '';

```
This worked for me. I have used child routes in the routing module.

```

 this.route.firstChild.snapshot.paramMap.get('id');

```