Angular Rounting получить предыдущие параметры - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть следующие маршруты.

Я перехожу на test-detail/:id по следующему URL: subjects/tests/478/test-detail/170.

Когда я на странице test-detail/170, Я должен сделать http запрос с 478 ID, который находится по этой ссылке.

Есть ли способ получить tests/478 ID с URL?

{
  path: 'subjects',
  resolve: {
    subject: SubjectResolver
  },
  children: [{
      path: '',
      component: SubjectsComponent
    },
    {
      path: 'tests/:id',
      children: [{
          path: '',
          component: TestListComponent
        },
        {
          path: 'test-detail/:id',
          component: TestDetailListComponent,
        },

      ]
    },
  ]
}

1 Ответ

1 голос
/ 30 апреля 2020

В TestDetailListComponent, попробуйте это:

import { ActivatedRoute } from '@angular/router';
import { switchMap } from 'rxjs/operators';
....
constructor(private route: ActivatedRoute) {}

ngOnInit() {
  this.route.parent.params.pipe(
    // take the params from the parent route and pass the id to function responsible for API call
    switchMap(params => this.service.methodResponsibleForAPICall(params.id)),
  ).subscribe(results => {
    console.log(results);
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...