Как получить значение параметра в компоненте Common в Angular 6 - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть HeaderComponent, который является общим для всех страниц и появляется на каждой странице.Итак, я создал отдельный компонент для заголовка и добавил в app.component.html с помощью селектора.Я создал две дочерние страницы «Домой» и «Второй» и направил его с помощью <router-outlet> в app.component.ts

Маршрут

const routes: Routes = [{
  path : "", component : HomeViewComponent
},{
  path : "second/:id/:category", component : SecondComponent
}];

Япередача параметров id и category во вторых компонентах.

в HeaderComponent Я хочу получить этот параметр при изменении маршрута, поэтому я сделал следующий код в header.component.ts

constructor(private router: Router, private route : ActivatedRoute) { }

  ngOnInit() {
    this.router.events.subscribe((val) => {
      // see also 
      this.route.params.subscribe(params => {
        console.log(params);
      });
    });
  }

Но я не могу получить параметры.Я получаю {} пустые параметры в консоли, к которой я также прикрепил ссылку stackblitz.

https://stackblitz.com/edit/hardik?file=app%2Fapp.routing.module.ts

ОБНОВЛЕНИЕ: этот компонент заголовка на всех страницах отсутствуетпросто даже во втором компоненте.поэтому я не могу поместить его только во второй компонент.

1 Ответ

0 голосов
/ 18 декабря 2018

Используйте paramMap

this.router.events.subscribe((val) => {
  // see also 
    let id = this.route.snapshot.paramMap["id"]; 
    console.log(id)

});
...