gpt4 book ai didi

angular - 为什么在导航路线时 Angular canActivate 函数保护执行两次

转载 作者:行者123 更新时间:2023-12-05 09:16:55 24 4
gpt4 key购买 nike

我正在使用 Angular 5 并定义了一些路由。当我导航路线并在 canActivate 函数守卫上放置断点时,我看到它被执行了两次。

我问这个是因为我必须在每次 canActivate 调用时调用外部服务,并且多次无用地执行相同的服务会导致不必要的开销。

最佳答案

刚好发生在我身上,问题是我的 AuthGuard 中的这个片段:

setActiveWebsite(website: string): void {
this._website.next(website);
this.router.navigate([]); <-- This line here
}

它执行了两次,因为它设置了一个值,重定向,然后跳过了身份验证,因为它立即解析为 true


您是否正在使用 route.navigate 或在您的 guardsresolvers 中使用重定向?

关于angular - 为什么在导航路线时 Angular canActivate 函数保护执行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49385971/

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