Angular 8 Ссылка на маршрутизатор не работает в определенной c части кода - PullRequest
0 голосов
/ 16 июня 2020

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

Примечание: RouterModule уже импортирован в app.module.ts

import { RouterModule } from '@angular/router';
@NgModule({
    declarations: [
      ...
      FaqComponent,

    ],
    imports: [
      RouterModule,
      BrowserModule,
      ...
    ],
    providers: [],
    bootstrap: []
  })
  export class AppModule { }

Не работает:

<h1>Suggested FAQ</h1>
<ul class="list-group list-group-flush">
     <li style="padding: 12px 0px;background-color: transparent;font-weight: bold;" *ngFor="let faq of suggestedFaqs" class="list-group-item">
        <a routerLink="/faq/{{faq.id}}/{{faq.title}}" >{{faq.title}}</a>
     </li>
</ul>

Работает:

<div style="margin: 30px 0px;" *ngIf="!isLoggedIn">
   <a routerLink="/login" class="btn_faq" >login</a>
</div>

Определение пути в app-routing.module.ts

  { path: 'faq/:id/:title', component: FaqComponent},

Пример:

http://localhost:4200/faq/2/Changer%20votre%20langue%20préférée.

Маршрут работает отлично, когда он щелкается за пределами FaqComponent, но если он щелкается внутри FaqComponent, он не работает

1 Ответ

0 голосов
/ 16 июня 2020

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

Ответьте здесь

...