Angular Anguar2 routerLink返回不准确的URL

Angular Anguar2 routerLink返回不准确的URL,angular,angular2-routing,angular2-directives,angular2-services,typescript2.0,Angular,Angular2 Routing,Angular2 Directives,Angular2 Services,Typescript2.0,我正在尝试实现angular2路由器,并使用诸如“/detail/:index”之类的URL模式来传递诸如“:detail/1234”之类的内容。但它得到的是“someDomain/detail/%3aitemdex;itemdex=123”,意思是“/detail/:itemdex;itemdex=123”。如何修复此问题并获得预期结果,即“/detail/123”或“/detail/itemIndex=123”,然后去掉“:itemIndex;”,并将其替换为斜杠(请忽略我的打字错误) “a

我正在尝试实现angular2路由器,并使用诸如“/detail/:index”之类的URL模式来传递诸如“:detail/1234”之类的内容。但它得到的是“someDomain/detail/%3aitemdex;itemdex=123”,意思是“/detail/:itemdex;itemdex=123”。如何修复此问题并获得预期结果,即“/detail/123”或“/detail/itemIndex=123”,然后去掉“:itemIndex;”,并将其替换为斜杠(请忽略我的打字错误)

“app.routes.ts”

“list.component.html”

使用:

“list.component.html”


{{item.name}
希望这有帮助。

使用:

“list.component.html”


{{item.name}
希望这有帮助。

如文档中所述,您可以将多个变量与多个参数连接起来

您的代码现在将变成:

<a *ngFor="let item of items; let i = index" [routerLink]="['/detail/', i ]"> 
    {{ item.name }}
</a>

{{item.name}
如文档中所述,您可以将多个变量与多个参数连接起来

您的代码现在将变成:

<a *ngFor="let item of items; let i = index" [routerLink]="['/detail/', i ]"> 
    {{ item.name }}
</a>

{{item.name}
PS:只是建议而已

最好使用
elvis?
操作符,当使用*ngFor或类似的东西绑定时,它可以防止这样的应用程序出错或崩溃

 <a *ngFor="let item of items; let i = index" 
[routerLink]="['/detail/:itemIndex', { itemIndex: i }]"> 
{{ item?.name }}
</a>

{{item?.name}
这里我使用了
{{item?.name}
PS:只是建议而已

最好使用
elvis?
操作符,当使用*ngFor或类似的东西绑定时,它可以防止这样的应用程序出错或崩溃

 <a *ngFor="let item of items; let i = index" 
[routerLink]="['/detail/:itemIndex', { itemIndex: i }]"> 
{{ item?.name }}
</a>

{{item?.name}
这里我使用了
{{item?.name}

<a *ngFor="let item of items; let i = index" [routerLink]="['/detail/', i ]"> 
    {{ item.name }}
</a>
 <a *ngFor="let item of items; let i = index" 
[routerLink]="['/detail/:itemIndex', { itemIndex: i }]"> 
{{ item?.name }}
</a>