我有一个 Angular (4.2.5) 应用程序,在我的代码中的某个时刻,我这样做了:
this._appService
.post('/createhero/save', opts)
.subscribe(
(resData: any) =>
{
this._router.navigate(['home']);
}
);
对 navigate()
的路由器调用不起作用 - 没有任何反应。我启用了路由调试,这就是我得到的:
因此导航被无故取消。在其他组件中,我有相同类型的 navigate()
(一些也在可观察的回调中),效果很好。路由 /home
也适用。
我开始没有想法了,我什至不知道为什么 navigate()
在这种情况下不起作用。
最佳答案
有类似的问题,原因
真的没用:)
我的问题是,我尝试导航的路线有一个订阅了 observable 的守卫,因为我已经给它赋值,所以 observable 的初始值为 false
并且由于路线被封锁,导航被取消。
会不会是其他守卫挡住了路线,canActivate()
根据您的查询结果给出 true
/false
但实际上不是在等待结果?
希望这对调试有所帮助:)
关于javascript - Angular - 路由器导航无故取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44973826/