2017-12-27 17 views
0

Es gibt eine Benutzercrud-Seite und wenn ein neuer Benutzer gespeichert wird, ist es notwendig, dass die URL mit dem ID-Parameter geändert wird, den der Benutzer gespeichert hat. Ich weiß nicht, was passiert, aber wenn Sie this.router.navigate (['/ user', user.id]) aufrufen, tritt ein Fehler auf. Nach dem Code mit Router und Komponente, wo der Fehler auftritt.Angular 5 router.navigate Fehler

URL einen neuen Benutzer http://localhost:4200/user

URL zu erstellen Benutzer zu aktualisieren http://localhost:4200/user/38

//route config 
    const routes: Routes = [ 
    { 
    path: ':id', 
    component: UserComponent, 
    resolve: { 
     user: UserResolve 
    } 
    }, 
    { 
    path: '', 
    component: UserComponent, 
    resolve: { 
     user: UserResolve 
    } 
    } 
] 


//component 
this.router.navigate(['/user', user.id]) 


//error 
ERROR Error: Uncaught (in promise): [object Object] 
    at resolvePromise (zone.js:824) 
    at resolvePromise (zone.js:795) 
    at eval (zone.js:873) 
    at ZoneDelegate.invokeTask (zone.js:425) 
    at Object.onInvokeTask (core.js:4620) 
    at ZoneDelegate.invokeTask (zone.js:424) 
    at Zone.runTask (zone.js:192) 
    at drainMicroTaskQueue (zone.js:602) 
    at ZoneTask.invokeTask [as invoke] (zone.js:503) 
    at invokeTask (zone.js:1540) 

Antwort

0

ich gerade angefangen habe vor Winkel ein paar Wochen zu lernen, so bin ich nur versucht zu helfen.

In Ihrer Route-ts-Datei verknüpfen Sie '' mit UserComponent, aber Sie erwarten, dass der Router die UserComponent lädt, wenn der Pfad '/ user' aufgerufen wird.

Ersetzen Sie die leere '' durch den Benutzer und sagen Sie uns, was neu ist. Vielen Dank !