目前在Angular 4中,如果我试图验证此路线是否有效:
/my/long/route
如果我直接转到它并且它会抛出错误,Router
会将网址更新为/
,因为没有加载有效路由。如果我导航到应用程序中的错误抛出路径,则url将设置为最后一个有效的路径。
有没有办法可以将URL设置在失败的路由URL上?从错误日志记录的角度来看,如果我可以在路由器事件中使用用户所反对捕获的实际URL,那将是很好的,并且对于本地调试,能够刷新与需要相对的页面会很好每次导航回来。
答案 0 :(得分:0)
基于源代码:
我真的没有办法解决这个问题。
现在我只是要这样做(这有它自己的问题):
this.router.events.subscribe(event => {
if (event instanceof NavigationError) {
this.routeFailed = true;
setTimeout(() => this.location.replaceState(event.url));
} else {
this.routeFailed = false;
}
});