2017-04-12 3 views
1

mein einfaches Routing nicht funktioniert und ich weiß nicht, warum ... Den Befehl unten angegebene Belastung, den PageNotFoundComponent statt OffertDetailComponentAngular2 einziger Parameter Routing funktioniert nicht

app.routing

{ 
    path: "OffertDetail/:idOffert", 
    component: OffertDetailComponent 
}, 
{ 
    path: '**', 
    component: PageNotFoundComponent 
} 

Befehl route

this.router.navigate(['OffertDetail', {idOffert: 1073}]); 

Wenn ich den "/ idOffert" aus ap.Routing und den Parameter aus dem Befehl entfernen, wird die Komponente ordnungsgemäß geladen.

Dank

Antwort

1

Ich glaube, Sie mischen Abfrage params und Strecke params zu unterstützen. Versuchen Sie, Ihre router.navigate an die sich ändernden folgenden während den Pfad als "OffertDetail/:idOffert" halten:

this.router.navigate(['OffertDetail', '1073']); 

Von https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters

Zur Abfrage params gesetzt:

// Set our navigation extras object 
// that contains our global query params and fragment 
let navigationExtras: NavigationExtras = { 
    queryParams: { 'session_id': sessionId }, 
    fragment: 'anchor' 
}; 

// Navigate to the login page with extras 
this.router.navigate(['/login'], navigationExtras); 

Zur Nutzung Route params:

this.router.navigate(['/hero', hero.id]); 

Und der Parameter erhält den Namen der :param von der Router-Konfiguration.

Um zwei Routenparameter Sagen Sie uns den Weg in unsere Route Config passieren path: "OffertDetail/:idOffert/detail/:someId" ist, wir Parameter, die so passieren könnte:

this.router.navigate(['/OffertDetail', someParameter, 'detail', someOtherValue]); 
+0

Dank, diese Arbeit. Kannst du mir einfach einen einfachen Code geben, der zeigt, wie man 2 Parameter anstelle von 1 übergibt? – DarioN1

Verwandte Themen