Angular: Маршрутизатор не возвращается к корневому URL - PullRequest
0 голосов
/ 24 июня 2019

Мой маршрутизатор как-то сбивается с толку, когда я использую один из своих компонентов. По большей части, в моем приложении, если я сделаю что-то вроде this.router.navigateByUrl ('/search');, маршрутизатор правильно перейдет к <root url>/search.

Проблемный маршрут настроен так:

{
    path: 'search',
    component: PlatSearchComponent,
    children: [
      {
        path: 'view/:id',
        component: PlatViewComponent
      },
    ]
},

В html PlatSearchComponent:

...
<router-outlet></router-outlet>
...

Щелчок по строке в таблице открывает компонент PlatViewComponent следующим образом:

this.router.navigateByUrl (`/search/view/${row.PlatID}`);

Это правильно открывает компонент PlatViewComponent с URL-адресом, подобным <url root>/search/view/16.

Проблема в том, что когда я ухожу с этой страницы, вызывая this.router.navigateByUrl('/search') из PlatViewComponent, URL-адрес теперь становится <url root>/search/view/search. Продолжая открывать PlatViewComponent, вы получаете URL, который в конечном итоге будет выглядеть как <url root>/search/view/search/view/search/view/search/view ...

Ни у одного из других компонентов и маршрутов в приложении нет этой проблемы, навигация между ними работает должным образом.

Я не вижу никаких событий подписки маршрутизатора или определенных элементов конфигурации маршрута, которые могли бы вызвать это.

1 Ответ

0 голосов
/ 24 июня 2019

В результате возникла проблема с APP_BASE_HREF моего модуля. Я использовал ./ в качестве значения, изменив его на /, исправил проблему.

...