How to get param from url in angular 4?
constructor(private activatedRoute: ActivatedRoute) {
}
ngOnInit() {
this.activatedRoute.params.subscribe(paramsId => {
this.id = paramsId.id;
console.log(this.id);
});
}
In angular, They separate it into 2 kind of url.
URL pattern
/heroes/:limit
. Example:/heroes/20
- You can get raw value by using
route.snapshot.paramMap.get
. - Subscribe from
route.paramMap
to get params
- You can get raw value by using
URL pattern
/heroes
. Example:/heroes?limit=20
- You can get raw value by using
route.snapshot.queryParamMap
- You can get raw value by using
Reference: All you need to know about Angular parameters
Routes
export const MyRoutes: Routes = [
{ path: '/items/:id', component: MyComponent }
]
Component
import { ActivatedRoute } from '@angular/router';
public id: string;
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.id = this.route.snapshot.paramMap.get('id');
}
Update
I belive Dimitry Grinko's answer in this post is better than this one.
Old answer
This should do the trick retrieving the params from the url:
constructor(private activatedRoute: ActivatedRoute) {
this.activatedRoute.queryParams.subscribe(params => {
let date = params['startdate'];
console.log(date); // Print the parameter to the console.
});
}
The local variable date should now contain the startdate parameter from the URL. The modules Router and Params can be removed (if not used somewhere else in the class).