Лучший способ получить параметр маршрута с Angular - PullRequest
0 голосов
/ 24 января 2020

Каков наилучший способ получить значение моего идентификатора в текущем маршруте (с помощью ActivatedRoute или Router)? И объясните почему:)

n ° 1

constructor(private route: ActivatedRoute) {}

ngOnInit() {
  this.id = this.route.snapshot.params['id']
}

n ° 2

constructor(private router: Router) {}

ngOnInit() {
 this.id = this.router.url.includes('id')
}

Ответы [ 4 ]

1 голос
/ 24 января 2020

Лучше подписаться на paramMap

ngOnInit() {
  this.route.paramMap.subscribe(params => {
    this.id= params.get('id');
  });
}
0 голосов
/ 24 января 2020

Сначала объявите в конструкторе значение ActivatedRoute из '@ angular / router';

constructor ( private route: ActivatedRoute ){}

Затем, используя этот код, вы получите параметры запроса

this.route.queryParams.subscribe(params =>{ let Id = params ["Id"]; }
0 голосов
/ 24 января 2020
this.route.params.forEach((params: Params) => {
    const id = +params['id'];
    // more stuff
});
0 голосов
/ 24 января 2020

Импортировать маршрутизатор в компонент.

import { Router } from '@angular/router';

передать его в конструктор

private router : Router

Теперь это даст параметр маршрутизатора

this.router.url;
...