Сподіваюся, це допоможе комусь іншому.
Питання вище зазначає, що значення параметри запиту потрібно після перенаправлення сторінки, і ми можемо припустити, що значення знімка (альтернатива, що не спостерігається) буде достатньою.
Тут ніхто не згадував про 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';
введіть ActivateRoute
(Документація також імпортує SwitchMap, а також вводить маршрутизатор та HeroService - але вони потрібні лише для спостережуваної альтернативи - вони НЕ потрібні, коли ви використовуєте альтернативу знімків, як у нашому випадку):
constructor(
private route: ActivatedRoute
) {}
ПРИМІТКА: ЯКЩО ВИ ДОДАТИМ РЕКУЛЮЦІЙНИЙ МОДУЛЬ ДО МОДУЛЯ ДІЯЛЬНОСТІ (ЯК ПОКАЗАНО В ДОКУМЕНТАЦІЇ), ЗАБЕЗПЕЧЕННЯ В УПРАВЛІННІ ДОПОМОГИ. ТАКИЙ МОДУЛЬ РОТУВАННЯ ПОЧАТИ ДО ПЕРЕД AppRoutingModule (або іншого файлу з маршрутами програми для кореневого рівня) В ІМПОРТІ: []. ДРУГІ ХАРАКТЕРИСТИКИ ДІЯЛЬНОСТІ НЕ ЗНАЙДУТЬСЯ (ЯКЩО БУДУТЬ ПІСЛЯ {шлях: "**", перенаправляємо до: "/ не знайдено"}, і ви побачите лише не знайдене повідомлення).
@RouteConfig
для цьогоpath
?