【问题标题】:Angular Routing: Keep NavigationError url角度路由:保留 NavigationError url
【发布时间】:2017-04-29 00:48:40
【问题描述】:

目前在 Angular 4 中,如果我想验证这条路线是否有效:

/my/long/route

如果我直接访问它并引发错误,Router 会将 url 更新为/,因为没有加载有效的路由。如果我导航到应用程序中的错误抛出路由,则 url 将设置为最后一个有效的路由。

有没有办法可以将 url 设置在失败的路由 url 上?从错误记录的角度来看,如果我可以只使用用户所在的实际 url 而不是在路由器事件中钓鱼它会很好,并且对于本地调试来说,能够刷新页面而不是需要它会很好每次都导航回它。

【问题讨论】:

    标签: angular angular-routing


    【解决方案1】:

    基于源代码:

    https://github.com/angular/angular/blob/410aa33005f2dc6f6500db71e7f019a744f909d9/packages/router/src/router.ts#L750

    我真的没有办法解决这个问题。

    现在我只打算这样做(它有自己的一系列问题):

        this.router.events.subscribe(event => {
            if (event instanceof NavigationError) {
                this.routeFailed = true;
                setTimeout(() => this.location.replaceState(event.url));
            } else {
                this.routeFailed = false;
            }
        });
    

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      相关资源
      最近更新 更多