【发布时间】:2017-01-16 18:37:47
【问题描述】:
我正在尝试为通过 json 获得的项目设置 URL。
所以我有这样的结构:
<div class="releases-component">
<div *ngFor="let release of releases" [routerLink]="['/releases', { id:release.id }]">
<img src="{{release.image}}" alt="Image release">
<h3>{{release.name}}</h3>
<span>{{release.year}}</span>
</div>
</div>
我有 json 类型:
[
{
"id":"release-1",
"name": "Release1 name",
"image": "./cover1.jpg",
"year": "2014"
},
{
"id":"release-2",
"name": "Release2 name",
"image": "./release2.jpg",
"year": "2015"
}
]
我的路由器:
const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'releases', component: ReleasesComponent },
{ path: 'distro', component: DistroComponent },
{ path: 'contacts', component: ContactsComponent }
];
问题是当我点击任何*ngFor 生成的 div 时,我会得到类似的 url
http://localhost:3000/releases;id=release-1
我希望它看起来像
http://localhost:3000/releases/release-1
我没能在 Angular2 中找到可行的解决方案。
【问题讨论】:
-
创建
releases/:id的路径,而不仅仅是releases -
@Adeebbasheer 然后控制台抛出错误:无法匹配任何路由。 URL 段:'releases/releases/%3Aid;id=release-1'
-
试试这个
[routerLink]="['/releases/'+release.id ]" -
类似错误 - 错误:无法匹配任何路由。 URL 段:“发布”