Используя RouterModule.forRoot(routes, { enableTracing: true })
, я вижу в консоли следующее:
Event: NavigationEnd
NavigationEnd(id: 3, url: '/dashboard/dashboard-second/original-name-something-bla-bla/87/dashboard-second/other-name/11', urlAfterRedirects: '/dashboard')
NavigationEnd {id: 3, url: "/dashboard/dashboard-second/original-name-something-bla-bla/87/dashboard-second/other-name/11", urlAfterRedirects: "/dashboard"}
Так что у него есть dashboard-second
дважды.
Мне пришлось изменитьмаршрутизатор ссылается на:
<h5 [routerLink]="['../../../../dashboard-second', 'other-name', 11]" >Go to dashboard-second 1</h5>
Устраняет проблему.4 .. это вернуться к /dashboard
.Каждый ..
перейти к:
- 87 (то есть: / 87 / .. = / 87)
- оригинальное имя-что-то-бла-бла
- dashboard-second
- / dashboard
Немного не интуитивно понятно, что это занимает 4 ..
, я думал, что это заняло бы 3, но это имеет смысл, потому что это относительно.Таким образом, вы в конечном итоге делаете:
/dashboard/dashboard-second/original-name-something-bla-bla/87/../../../../dashboard-second/other-name/11
, который разрешается в:
/dashboard/dashboard-second/other-name/11
Вы также можете установить абсолютный путь с помощьюпредупредите, что если вы перемещаете маршрут / приборную панель в секунду, более вероятно, что вам придется обновить routerLink при использовании абсолютных путей:
<h5 [routerLink]="['/dashboard/dashboard-second', 'name-name-name', 13]" >Go to dashboard-second 3</h5>