Angular Lazy Loaded Modules - настройка routerActiveClass и выбор компонента посадки по умолчанию - PullRequest
0 голосов
/ 06 марта 2020

В приведенной ниже конфигурации есть несколько проблем, которые я не до конца понимаю.

Требование

  • В моем главном меню я хотел бы нажать на ссылку настроек и для 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 удаляется из главного меню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...