首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular Routing:保留NavigationError url

Angular Routing:保留NavigationError url
EN

Stack Overflow用户
提问于 2017-04-28 22:59:11
回答 1查看 920关注 0票数 1

目前在Angular 4中,如果我正在尝试验证此路由是否正常工作:

代码语言:javascript
复制
/my/long/route

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

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

EN

回答 1

Stack Overflow用户

发布于 2017-04-29 00:48:40

基于源码:

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

我真的看不到绕过这个问题的方法。

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

代码语言:javascript
复制
    this.router.events.subscribe(event => {
        if (event instanceof NavigationError) {
            this.routeFailed = true;
            setTimeout(() => this.location.replaceState(event.url));
        } else {
            this.routeFailed = false;
        }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43683255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档