首页 > 解决方案 > Angular 8 Router Link 在代码的特定部分不起作用

问题描述

在我的代码中,如果用户未通过身份验证并且工作正常,我使用 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 内部单击它则不起作用

标签: angularangular-routerlink

解决方案


路由器只有在导航到不同的路由时才会销毁并重新创建组件。当仅更新路由参数或查询参数但路由相同时,不会销毁和重新创建组件。

在这里回答


推荐阅读