如何调用路由器导航方法而不是routerLink?

时间:2020-09-24 16:51:40

标签: angular angular-material angular-cli angular-routing angular-router

我正在尝试用路由器的Navigation方法替换routerLink。不幸的是,它不起作用,我无法再解释了。 routerLink可以正常工作。

我要替换这个:

<mat-list-item role="listitem" [routerLink]="['details', 2]" routerLinkActive="active">

与此:

<mat-list-item role="listitem" routerLinkActive="active" (click)="openDetails(2)">

这就是我使用导航方法的方式:

openDetails(id) {
  this.router.navigate(['details', id]);
}

我的路由器配置如下:

const routes: Routes = [
  {
    path: '',
    component: MasterComponent,
    children: [
      {
        path: 'details/:id',
        component: DetailsComponent
      }
    ]
  }
];

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

您需要将Extras导航对象传递给Navigation方法,并将relativeTo字段设置为当前路线,如下所示:

"}{"