как получить детский парамус угловой 5 - PullRequest
0 голосов
/ 17 октября 2018

В моем приложении маршрут выглядит примерно так:

{
  path: 'routeA/:paramA',
  component: ComponentA,
  children: [
    {
      path: 'routeB/:paramB',
      component: ChildComponentB,
      children: [
        {
          path: 'routeC/:paramC',
          component: ChildComponentC
        }
      ]
    }
  ]
},

Я пытался:

1:

const param = this.route.paramMap.subscribe(( params: ParamMap ) : void => {

  console.info(params)

2:

const params = this.route.firstChild.snapshot.params['codigo-pessoal']
        console.info(params)

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Для компонента A,

import {Router, ActivatedRoute} from '@angular/router';
@Component({
  selector: 'app-component-a',
  templateUrl: './component-a.component.html',
  styleUrls: ['./component-a.component.scss'],
});
export class ComponentA {
  paramA: any;
  constructor( private route: ActivatedRoute) {
     this.paramA = this.route.snapshot.queryParams['paramA'];
     // Or you can try this one also
     this.route.params.subscribe(res => this.paramA = res.paramA);
  }
}
0 голосов
/ 17 октября 2018

В ChildComponentC введите ActivatedRoute в качестве зависимости:

constructor(private route: ActivatedRoute) {}

Затем в ngOnInit используйте это:

ngOnInit() {
  this.route.params.subscribe(params => console.log(params));
}
...