Angular 角度导航问题(路由器导航)
我在使用英语导航时遇到问题 我有一条如下的路线Angular 角度导航问题(路由器导航),angular,typescript,Angular,Typescript,我在使用英语导航时遇到问题 我有一条如下的路线 { path: 'truckdetails/:lieferNr', component: TruckDetailComponent, data: { state: 'truckdetail' }, canActivate: [AuthguardService] }, 如果我像这样使用路由 this.router.navigat
{
path: 'truckdetails/:lieferNr',
component: TruckDetailComponent,
data: { state: 'truckdetail' },
canActivate: [AuthguardService]
},
如果我像这样使用路由
this.router.navigate(['truckdetails', delivery.LIEFER_NR]);
如果我使用以下术语
this.router.navigate(['truckdetails', response.data]);
我得到的错误是他找不到路线。我想在我将anglular更新到新版本之前,它已经起作用了。但我知道我会犯错
Error: Cannot match any routes. URL Segment: 'truckdetails;lieferNr=00179324'
回复中还包含lieferNr
{timestamp: 1530014875302, status: 200, message: "QRCode Scanned", data: {…}}
data :{lieferNr: "00179324"}
message : "QRCode Scanned"
status : 200
timestamp : 1530014875302
response.data
包含{lieferNr:“00179324”}
,一旦序列化,当您只需要00179324
时,它将提供lieferNr=00179324
。然后使用:
this.router.navigate(['truckdetails', response.data.lieferNr]);
请在app-routing.module.ts文件中指定所有应用程序路由,好吗?我这样问是因为您可能有另一条路由阻塞了定义的路由。是
响应.data
对象{lieferNr:00179324}
?这不会解析为路线卡车详情/00179324
;如您所见,它解析为未指定的路线truckdetails
,带有可选参数;lieferNr=00179324
。您需要response.data.lieferNr
@jornsharpe,是的,这是http请求的一个对象。我建议阅读,它讨论了可以将参数传递给路由的各种方法以及不同的结果。您忘记了斜线符号truckdetails/