2017-12-27 149 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。

用户替换空的'',告诉我们什么是新的。谢谢 !