目前在Angular 4中,如果我正在尝试验证此路由是否正常工作:
/my/long/route
如果我直接转到它并抛出错误, Router 会将URL更新为 / ,因为没有加载有效路由 . 如果我导航到应用程序中的错误抛出路由,则url将设置为最后一个有效的路由 .
Router
/
有没有办法可以将URL设置在失败的路由URL上?从错误日志记录的角度来看,如果我可以在路由器事件中使用用户所反对捕获的实际URL,那将是很好的,并且对于本地调试,能够刷新与需要相对的页面会很好每次导航回来 .
基于源代码:
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; } });
1 回答
基于源代码:
https://github.com/angular/angular/blob/410aa33005f2dc6f6500db71e7f019a744f909d9/packages/router/src/router.ts#L750
我真的没有办法解决这个问题 .
现在我只是要这样做(这有它自己的问题):