gpt4 book ai didi

Angular 4 在不更改 URL 的情况下解析保护重定向?

转载 作者:行者123 更新时间:2023-12-04 12:46:17 24 4
gpt4 key购买 nike

如果我的解析保护失败,我想显示 404 页面/组件,但我不希望浏览器的 URL 更改。

我可以在不更改解析中的 URL 的情况下进行导航,如 here 所述通过做:

this.router.navigate(['/404'], { skipLocationChange: true })

这在从应用程序内访问此守卫时有效。但是,如果我直接导​​航到该页面,例如: /posts/1234路由器将 URL 更改为回退路由(认为 404 组件已正确显示)。如果我不跳过位置更改,一切都会按预期进行,但是我的 url 中有我不想要的“/404”。

目前有没有办法通过路由器实现这一点,还是一个错误?

最佳答案

我面临同样的问题。万一你仍然想解决这个问题,我发现了这个 Github 问题:https://github.com/angular/angular/issues/16981

似乎没有合法的方法来处理这个问题,但是 Karolis92 建议了一个很好的解决方法

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):     Observable<boolean> {
<...>
this.router.navigate(['404']);
setTimeout(() => this.location.replaceState(state.url));
<...>
}

关于Angular 4 在不更改 URL 的情况下解析保护重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46941786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com