Javascript 角度-路由器导航被无故取消

Javascript 角度-路由器导航被无故取消,javascript,angular,routes,angular-routing,Javascript,Angular,Routes,Angular Routing,我有一个angular(4.2.5)应用程序,在我的代码中的某个点上,我会这样做: this._appService .post('/createhero/save', opts) .subscribe( (resData: any) => { this._router.navigate(['home']); } ); 对navigate()的路由器调用不起作用-什么也没有发生。我启用

我有一个angular(4.2.5)应用程序,在我的代码中的某个点上,我会这样做:

this._appService
    .post('/createhero/save', opts)
    .subscribe(
        (resData: any) => 
        {   
            this._router.navigate(['home']);
        }
    );
navigate()
的路由器调用不起作用-什么也没有发生。我启用了路由调试,结果如下:

因此,导航被取消,没有给出原因。在其他组件中,我有同样类型的
navigate()
(一些也在可观察的回调中),它工作得很好。路线
/home
也起作用


我开始没有主意了,我甚至不知道为什么
navigate()
在这种情况下不起作用。

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

我的问题是,我尝试导航的路线本身有一个订阅observable的守卫,因为我已经给它赋值,observable的初始值是
false
,因为路线被阻塞,导航被取消

是否有其他守卫正在阻止路由,并且
canActivate()
根据您的查询结果发出
true
/
false
,但实际上没有等待结果


希望这对调试有所帮助:)

你在哪里使用了导航代码?在我的CreateHeroComponent save()方法中,它是由按钮
Done
Dude触发的,确切地说-我几天前找到了解决方案,但玩得很好,你把它钉死了=)我有一个孩子路线,它有一个更严格的级别来保护它,这帮了我。谢谢你的提示。伙计们,我有一个类似的问题,你们是如何解决的?你们救了我一天!