Angular - 路由器导航无理由取​​消

Ada*_*m S 4 javascript routes angular-routing angular

我有一个角度(4.2.5)的应用程序,在我的代码中的某些时候,我这样做:

this._appService
    .post('/createhero/save', opts)
    .subscribe(
        (resData: any) => 
        {   
            this._router.navigate(['home']);
        }
    );
Run Code Online (Sandbox Code Playgroud)

路由器调用navigate()不起作用 - 没有任何反应.我启用了路由调试,这就是我得到的:

错误

因此导航在没有给出理由的情况下被取消 在其他组件中,我有相同的类型navigate()(一些在可观察的回调中),它运行良好.路线/home也有效.

我开始没有想法,我甚至不知道为什么navigate()在这种情况下不会起作用.

小智 10

有类似的问题,reason真的没有帮助吗:)

我的问题是,我尝试导航的路线有一个自己的守卫订阅了可观察的,因为我已经给它了值,observable的初始值是false,因为路线被阻止,导航被取消了.

可能是其他一些后卫阻止路线并根据您的查询结果canActivate()发出true/ false而不是实际等待结果?

希望这有助于调试:)