javascript - Angular - 路由器导航无故取消

标签 javascript angular routes angular-routing

我有一个 Angular (4.2.5) 应用程序,在我的代码中的某个时刻,我这样做了:

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

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

Error

因此导航被无故取消。在其他组件中,我有相同类型的 navigate()(一些也在可观察的回调中),效果很好。路由 /home 也适用。

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

最佳答案

有类似的问题,原因真的没用:)

我的问题是,我尝试导航的路线有一个订阅了 observable 的守卫,因为我已经给它赋值,所以 observable 的初始值为 false 并且由于路线被封锁,导航被取消。

会不会是其他守卫挡住了路线,canActivate() 根据您的查询结果给出 true/false但实际上不是在等待结果?

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

关于javascript - Angular - 路由器导航无故取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44973826/

相关文章:

php - 自动刷新 div 内容并立即向下滚动?

javascript - 在 vuejs 中,输入事件触发在列表中不起作用

ruby-on-rails - Ruby on Rails 的永久链接(动态路由)

javascript - 获取单页滚动分页中的数据属性

javascript - 添加onclick javascript时html中的输入标签不发送POST变量

angular - ionic 电容器 - 图库截图 (iOS)

angular - 如何在 Ionic 2 中设置带有选项卡的侧面菜单?

angular - 来自父组件的 ngTemplateOutlet 的 ViewChild

angular - 我如何通过路由在 Angular 中托管文件?

Azure应用服务: Select the endpoint based on HTTP header value