Uncaught (в обещании): TypeError: Невозможно прочитать свойство 'component' из null при попытке перейти к одному и тому же маршруту с разными параметрами - PullRequest
0 голосов
/ 04 мая 2018

В настоящее время я работаю над проектом Angular (v5.2.5), и у меня возникли некоторые проблемы с маршрутизацией.

Вот мои маршруты:

const routes: Routes =[
    { path:'', component: ClassComponent},
    { path: 'login', component: LoginComponent},
    { path: ':id', component: ClassComponent}
];

Здесь у меня есть несколько ссылок, которые должны соответствовать пути :id:

 <ul>
    <li > 
       <a routerLink='/0000'>
          Emilia 
       </a> 
    </li>

    <li > 
        <a routerLink='/1111'>
            Kit
        </a>
    </li>
</ul>

Теперь, если я нажимаю на одну из этих ссылок, все работает нормально (меня перенаправляют на http://localhost:4200/0000 или http://localhost:4200/1111), но если одна из этих ссылок уже выбрана, и я пытаюсь нажать на другую, ничего не происходит, и появляется следующая ошибка:

скриншот с ошибкой

1 Ответ

0 голосов
/ 04 мая 2018

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

imports: [
    BrowserModule,
    RouterModule,
    RouterModule.forRoot( routes, { onSameUrlNavigation: 'reload'} )
],
...