В приведенной ниже конфигурации есть несколько проблем, которые я не до конца понимаю.
Требование
- В моем главном меню я хотел бы нажать на ссылку настроек и для routerLinkActive добавить активный класс = Это работает
- При переходе на страницу настроек автоматически показывать настройки. html и дочерний модуль учетной записи в розетке маршрутизатора
Проблемы
- Нажатие на настройки активирует routerLinkActiveClass, это здорово
- Однако при попадании на страницу настроек дочерняя учетная запись модуль загружается автоматически (частично то, что я хочу…)
- Дочерний модуль загружается автоматически, но я бы хотел, чтобы URL-адрес обновился до параметров / account
- Хотя дочерний модуль автоматически загружается ( не уверен, как или почему он это делает…) любой html из компонента настроек полностью игнорируется и не виден
У меня есть компонент меню, который h видно через все мое приложение, у меня есть ссылка на страницу настроек. Когда эта страница активирована, активный класс применяется красиво.
Меню. html
<a[routerLink]="['/settings']" routerLinkActive="active"> Settings </a>
router.module
{
path: 'settings',
loadChildren: () => import('../app/settings/settings.module').then(mod => mod.SettingsModule),
},
settings.module
const routes: Routes = [
{
path: '',
component: SettingsComponent,
children: [
{
path: 'account',
loadChildren: () => import('account.module').then(mod => mod.AccountModule),
},
],
}
]
settings. html
В моих настройках. html i есть две ссылки подменю и выход маршрутизатора для отображения модулей после нажатия на ссылки
<a [routerLink]="['/settings/account']" routerLinkActive="active">
<a [routerLink]="['/settings/test']" routerLinkActive="active">
<router-outlet></router-outlet>
note : Сначала я подумал о том, чтобы просто установить ссылку на /settings/account
из ссылки главного меню. Это работает с ожидаемым результатом правильного целевого URL и показывает настройки html, а также учетную запись html. Проблема здесь в том, что если бы я щелкнул settings/test
в настройках. html, класс routerLinkActive удаляется из главного меню.