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: 
I know that OP asked for Angular 5 solution, but yet for all of you who stumbles upon this question for newer (6+) Angular versions. Citing the [Docs](https://angular.io/guide/router#activated-route), regarding ActivatedRoute.queryParams (which most of other answers are based on):

> 
> Two older properties are still available. They are **less capable than
> their replacements, discouraged, and may be deprecated** in a future
> Angular version.
> 
> 
> params — An Observable that contains the required and optional
> parameters specific to the route. Use paramMap instead.
> 
> 
> queryParams — An Observable that contains the query parameters available
> to all routes. Use queryParamMap instead.
> 
> 
> 

According to the [Docs](https://angular.io/guide/router#snapshot-the-no-observable-alternative), the simple way to get the query params would look like this:

```
constructor(private route: ActivatedRoute) { }

ngOnInit() {
    this.param1 = this.route.snapshot.paramMap.get('param1');
    this.param2 = this.route.snapshot.paramMap.get('param2');
}

```

For more advanced ways (e.g. advanced component re-usage) see [this](https://angular.io/guide/router#activated-route-in-action) Docs chapter.

**EDIT:**

As it correctly stated in comments below, **this answer is wrong** - at least for the case specified by OP.

OP asks to get global query parameters (/app?param1=hallo&param2=123); in this case you should use queryParamMap (just like in [@dapperdan1985 answer](https://stackoverflow.com/a/50997323/6015889)).

paramMap, on the other hand, is used on parameters specific to the route (e.g. /app/:param1/:param2, resulting in /app/hallo/123).

**Thanks to @JasonRoyle and @daka for pointing it out**.
its work for me:

```
constructor(private route: ActivatedRoute) {}

ngOnInit()
{
    this.route.queryParams.subscribe(map => map);
    this.route.snapshot.queryParams; 
}

```

look more options [How get query params from url in angular2?](https://stackoverflow.com/questions/35688084/how-get-query-params-from-url-in-angular2/37962626)