Angular очистить параметры пути маршрутизатора - PullRequest
1 голос
/ 14 февраля 2020

У меня есть конфигурация маршрутизатора, как это.

{
    path: 'home',
    component: HomeComponent,
    children: [
        {
            path: '',
            component: HomeContentComponent
        },
        {
            path: ':id',
            component: HomeContentComponent
        },
        {
            path: 'home2',
            component: HomeComponent
        },
        {
            path: '',
            redirectTo: '',
            pathMatch: 'full',
        },
    ],
}

Все работает нормально. Я могу перейти к / home / id1 и затем прочитать параметры в HomeContentComponent следующим образом.

constructor(private activatedRoute: ActivatedRoute) {

this.activatedRoute.params.pipe(
  takeUntil(this.onDestroy)
).subscribe(params => {
  console.log("HERE ARE MY PARAMS ID", params.id);
});
}

Теперь, когда я выхожу из системы, я очищаю свое локальное хранилище и перехожу на страницу входа с помощью

this.router.navigateByUrl('/login');

Это отлично работает. Но после входа в систему (возможно, от другого пользователя) я возвращаюсь на домашнюю страницу с

this.router.navigateByUrl('/home');

Моя проблема сейчас в том, что у него автоматически устанавливается старый идентификатор «id1», установленный от предыдущего пользователя (маршрут) который я вижу на выходе консоли и что браузер автоматически загружает / home / id1 вместо / home. Но мне нужно перейти к маршруту / home без каких-либо параметров.

Есть ли способ очистить параметры пути?

1 Ответ

0 голосов
/ 15 февраля 2020

Попробуйте

router.navigate(['/home'], {replaceUrl: true })`
...