Я надеюсь, что это поможет кому-то еще.
В приведенном выше вопросе указывается, что значение параметра запроса необходимо после перенаправления страницы, и мы можем предположить, что значения моментального снимка (ненаблюдаемая альтернатива) будет достаточно.
Никто здесь не упомянул о snapshot.paramMap.get из официальной документации .
this.route.snapshot.paramMap.get('id')
Поэтому перед отправкой добавьте это в компонент отправки / перенаправления:
import { Router } from '@angular/router';
затем перенаправьте как либо (задокументировано здесь ):
this.router.navigate(['/heroes', { id: heroId, foo: 'foo' }]);
или просто:
this.router.navigate(['/heroes', heroId ]);
Убедитесь, что вы добавили это в свой модуль маршрутизации, как описано здесь :
{ path: 'hero/:id', component: HeroDetailComponent }
И, наконец, в вашем компоненте, который должен использовать параметр запроса
добавить импорт (задокументировано здесь ):
import { Router, ActivatedRoute, ParamMap } from '@angular/router';
ввести ActivatedRoute
(документация также импортирует switchMap, а также внедряет Router и HeroService - но они нужны только для наблюдаемой альтернативы - они НЕ нужны, когда вы используете альтернативный снимок, как в нашем случае):
constructor(
private route: ActivatedRoute
) {}
ПРИМЕЧАНИЕ. ЕСЛИ ВЫ ДОБАВЛЯЕТЕ МОДУЛЬ МАРШРУТИЗАЦИИ В МОДУЛЬ ОСОБЕННОСТИ (КАК ПОКАЗАНО В ДОКУМЕНТАЦИИ), УБЕДИТЕСЬ, ЧТО В APP.MODULE.ts ЭТО МОДУЛЬ МАРШРУТА ПРОХОДИТ ПЕРЕД AppRoutingModule (или другим файлом с маршрутами приложения корневого уровня) В ИМПОРТАХ: []. ПРОЧИЕ МАРШРУТЫ ОСОБЕННОСТИ НЕ НАЙДЕНЫ (ПОЭТОМУ ОНИ БУДУТ ПОСЛЕ {path: '**', redirectTo: '/ not-found'}, и вы увидите только не найденное сообщение).
@RouteConfig
для этогоpath
?