Ich versuche Angular2-Router zu implementieren und benutze das URL-Muster wie '/ detail /: index', um etwas wie ': detail/1234' zu übergeben. aber es wird "someDomain/detail /% 3AitemIndex; itemIndex = 123", was "/ detail /: itemIndex; itemIndex = 123" bedeutet. Wie man das behebt und das erwartete Ergebnis erhält, das "/ detail/123" ODER "/ detail/itemIndex = 123" ist und das ": itemIndex;" und ersetzen sie durch Schrägstrich (Bitte ignorieren Sie meine Tippfehler)Anguar2 routerLink gibt ungenaue URL zurück
"app.routes.ts"
export const rootRouterConfig: Routes = [
{ path: '', redirectTo: 'SomeHomeComponent', pathMatch: 'full' },
{ path: 'home', component: SomeHomeComponent },
{ path: 'detail/:itemIndex', component: SomeDetailComponent }];
"list.component.html"
<a *ngFor="let item of items; let i = index"
[routerLink]="['/detail/:itemIndex', { itemIndex: i }]">
{ item.name }
</a>
"SomeDetail.Component.ts"
import { ActivatedRoute } from '@angular/router';
export class SomeDetailComponent {
private itemIndex:string;
constructor(private route: ActivatedRoute){
}
ngOnInit() {
this.route.params.subscribe(params => { this.itemIndex = params['itemIndex'];
});
}
}