Getting the URL parameters in Angular
In this tutorial, we are going to learn about how to get the URL parameters from a current route in Angular.
Getting the URL parameters
Consider, we have the following route in our angular routes array.
const routes: Routes = [
{ path: "product/:id", component: ProductComponent },
];To access the id (url) parameter value from a ProductComponent, we can use the ActivatedRoute interface this.route.params observable.
import { Component, OnInit } from "@angular/core";
import { ActivatedRoute } from "@angular/router";
@Component({
selector: "app-product",
templateUrl: './product.component.html',
styleUrls: ['./product.component.css']
})
export class ProductComponent implements OnInit {
constructor(private route: ActivatedRoute) { }
ngOnInit(){
this.route.params.subscribe(params=>{
let id = params['id']; })
}
}Similarly, we can also use this.route.snapshot.params object.
import { Component, OnInit } from "@angular/core";
import { ActivatedRoute } from "@angular/router";
@Component({
selector: "app-product",
templateUrl: './product.component.html',
styleUrls: ['./product.component.css']
})
export class ProductComponent implements OnInit {
constructor(private route: ActivatedRoute) { }
ngOnInit(){
let id = this.route.snapshot.params['id'];
console.log(id); }
}Note: The snapshot stores the URL params data at the time of component is initialized.


