用angular4中的routerLink替换当前动态参数

时间:2019-03-22 11:40:37

标签: angular

说我在角度4中有一条这样的路线:

/:study_id/folders/:folder_id

我想创建仅替换:folder_id

的路由

我已经尝试过了:

<a [routerLink]="[folder.id]">a</a>

但这会将folder_id附加到现有路由上,因此它变为

/:study_id/folders/:folder_id/:folder_id

我想替换:folder_id而不必指定url的所有其他部分。

1 个答案:

答案 0 :(得分:0)

您可以将选项传递到routerLink指令中:angular.io/api/router/NavigationExtras

在组件中:

    import { ActivatedRoute, Router } from "@angular/router";

          constructor(
            private router:Router,
            public route: ActivatedRoute) {  
          }

          navigate(folder){
            this.router.navigate([folder.id], { relativeTo: this.route });
          }

在标记中:

<a (click)="navigate(folder)"></a>