2017-12-27 166 views
0

有一個用戶crud頁面,當保存一個新用戶時,url需要用用戶保存的id參數改變。我不知道發生了什麼,但是當調用this.router.navigate(['/ user',user.id])時會發生錯誤。跟隨路由器和組件發生錯誤的代碼。Angular 5 router.navigate錯誤

地址創建一個新用戶 http://localhost:4200/user

地址更新用戶 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) 

回答

0

我剛開始學的角度在幾個星期前,所以我只是想幫助。

你的路由ts文件你鏈接到UserComponent,但你期望路由器調用路徑'/ user'時加載UserComponent。

用戶替換空的'',告訴我們什麼是新的。謝謝 !