Кажется, что url
и params
могут быть извлечены из ActivatedRoute
двумя способами, либо подписавшись на соответствующий Observable
, либо используя snapshot
. Есть ли разница между двумя подходами? Почему есть два подхода?
constructor(private activatedRoute:ActivatedRoute,...){
this.activatedRoute.url.subscribe(urlSegment =>{
console.log('observable url segment is ',urlSegment)
});
this.activatedRoute.paramMap.subscribe(paramMap =>{
console.log('observable paramMap is ',paramMap)
});
this.activatedRoute.queryParamMap.subscribe(queryParamMap =>{
console.log('observable queryParamMap is ',queryParamMap)
});
//OR I CAN ALSO DO THIS
let urlSegment = this.activatedRoute.snapshot.url.pop();
this.invokedUrl = urlSegment.path;
this.invokedParams = urlSegment.parameters;
console.log("invoked url",this.invokedUrl);
console.log("invoked parameters",this.invokedParams);
}