gpt4 book ai didi

angular - 如何重新加载当前的路由守卫?

转载 作者:太空狗 更新时间:2023-10-29 17:28:50 25 4
gpt4 key购买 nike

假设我有一条路线有守卫 AdminGuard,只有当我是管理员时才允许我进入。

但是当我在该页面上并单击 Logout 时,状态会通过 Observables 在所有应用程序中传播,但我仍然在一条我不应该在的路线上,因为我已经注销了。

如何“重新激活”当前的路由守卫?

最佳答案

您可以在单击注销时导航到同一页面。

(像这样的一些代码应该可以工作,但它可能不是最好的方法。)

`

let currentUrl:string = this.router.url;
this.router.navigateByUrl('/somewhere-else').then(() => {
this.router.navigate([currentUrl]);
});

`

更好的方法:

最好在内置 Angular Router 配置上使用 onSameUrlNavigation:'reload'。在你的路线上添加 runGuardsAndResolvers: 'always'然后您可以简单地导航到相同的 url。

有关的更多信息,我鼓励您阅读 this

关于angular - 如何重新加载当前的路由守卫?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46521638/

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