繁体   English   中英

订阅http发布请求后在router.navigate上出现ObjectUnsubscribedError

[英]ObjectUnsubscribedError on router.navigate inside a subscribe of http post request

从http帖子获得回复后,我试图导航至页面。 路由器导航需要响应对象,因为它基于response.id进行路由,如下面的代码所示。

user.component.ts:

this._userService.createUser(data).subscribe(response => {
    this.router.navigate(['userEdit/' + response.id]);
});

服务内部:

createUser(userdata: User): Observable<User> {
    return this._httpClient.post<User>(url, userData, this._httpOptions);
}

内部app.routing.ts

{path: 'userEdit/:userId', component: UserEditComponent}

它可以正确导航到“ userEdit / 10”路径,但在控制台上会显示ObjectUnsubscribedError。

该应用程序运行正常,但我想了解为什么会出现此错误。

控制台错误:

控制台错误的屏幕截图

通过堆栈跟踪,我意识到该错误是由ngx-bootstrap模态指令引发的。

modal.directive.js:276

我在createUser函数调用之前隐藏了模态,并且由于router.navigate被破坏,这引发了错误。

通过在modal.onHidden.subscribe()中添加createUser函数调用来修复此问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM