Давайте возьмем это базовое c дерево навигации:
Посмотрите на мой проект Stackblitz .
Мои маршруты
const routes: Routes = [
{
path: "",
component: PageParentComponent,
children: [
{
path: "",
component: PageChildPrimaryComponent
},
{
path: "secondary",
component: PageChildSecondaryComponent
},
{
path: "secondary/deep",
component: PageDeepComponent
}
]
}
];
Используя <a routerLink="..">
, я могу успешно перейти на один уровень вверх и используя <a routerLink="../..">
два уровня. Однако, когда я использую двойные точки, чтобы go вернуться на «основную» страницу с любой более глубокой страницы, любой routerLink
, который не начинается с sla sh, испортился; часть URL root (https://angular-ukxb4a.stackblitz.io/
или localhost:4200/
при локальном запуске) заменяется на %28
. Когда я использую <a routerLink="/">
(sla sh вместо двойных точек), все в порядке.
Почему это происходит?