0

我在 Angular 7 应用程序上工作,我的问题是使用 routerLink 时路由不起作用,但在使用 href 时它起作用。

我让href链接有参数值报告id

<a href="/pages/report/reportdetails?id={{subrep.reportID}}">

结果工作路由

http://localhost:4200/pages/report/reportdetails?id=3

在 href 的同一位置使用路由器链接时,我执行以下操作:

<a [routerLink]="['/pages/report/reportdetails/id=,subrep.reportID']"> 

结果路由不工作,因为下面生成的 url

http://localhost:4200/pages/report/reportdetails/id%3D,subrep.reportID

应用路由模块:

{path:'report',component:ReportcategoryComponent,children:[
      {path:'reportdetails',component:ReportdetailsComponent},
      {path:'reportdetails/:id',component:ReportdetailsComponent},
      ]},

如何解决问题?

我需要路由器链接使路由与 href 完全相同?

第一个线程的结果如下:

您为路由所做的结果代码是

localhost:4200/pages/report/reportdetails/3 

但我需要它

localhost:4200/pages/report/reportdetails?id=3

所以我改变了什么

4

1 回答 1

1

您将属性subrep.reportID作为字符串传递,这就是它导航到您看到的结果的原因。试试这个:

<a [routerLink]="['/pages/report/reportdetails', subrep.reportID ]"> 

如果要添加id为查询参数,则其语法为[queryParams]="{queryparam: value}"

<a [routerLink]="['/pages/report/reportdetails']" [queryParams]="{id: subrep.reportID}" >

您可以在此处阅读有关RouterLink API 的更多信息

于 2020-05-20T01:49:33.363 回答