Angular 7 активирует маршруты, все активные после обновления - PullRequest
0 голосов
/ 13 декабря 2018

Когда я перезагружаю / обновляю свое приложение, отображаются маршруты в меню, и все элементы устанавливаются на active.Я настроил для маршрутов:

export const routes: Routes = [
  {
    path: '', pathMatch: 'full', redirectTo: 'home',
    data: { title: undefined }
  },
  {
    path: 'login', component: LoginComponent,
    data: { title: 'Login' }
  },
  {
    path: 'home', component: MainComponent,
    data: { title: 'Home' }
  },
  {
    path: 'search',  component: SearchListComponent,
    data: { title: 'Search'}
  },
];

В моей строке меню я уменьшил код до следующего:

<div class="container">
    <a routerLinkActive="is-active" 
       routerLink="/login">Login</a> |
    <a routerLinkActive="is-active" 
       routerLink="/search">MySearch</a> |
    <a routerLinkActive="is-active" 
       routerLink="/home">MyHome</a> |
</div>

<div >
  <div *ngFor="let route of router.config">
    <a routerLinkActive="is-active" 
        [routerLink]="userName? ('/'+route.path ): '/' ">{{route.data.title}}... {{userName? ('/'+route.path ): '/' }} </a> |
  </div>
</div>

, который включает мои маршруты в два раза - почти идентичные - за исключением того, чтовторой код генерирует элементы динамически.Первый выбирает элементы должным образом после обновления, в то время как второй выходит из строя.

Согласно document routerLink может использоваться как строка

Кто-нибудь может объяснить мнепочему второй отказывает?

РЕДАКТИРОВАТЬ: По запросу фотографии

enter image description here

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

EDIT2

Я смог воспроизвести ошибку.Основная проблема заключается в том, что оценка routerlink была выполнена слишком поздно, и я столкнулся с той же проблемой, что и с уже сообщенной ошибкой .

Мое текущее решение: сначала установите userName: - /

1 Ответ

0 голосов
/ 13 декабря 2018

Попробуйте добавить [routerLinkActiveOptions]="{ exact: true }" к вашим сгенерированным ссылкам.По умолчанию угловой маршрутизатор будет соответствовать любой части.

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