gpt4 book ai didi

angular - 强制 Angular 分量在按下后退按钮时重新加载

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

我有一个 TeamSeasonComponent,其 url 为 http://localhost:4200/teams/season/<team_id> .在该页面上,有指向其他团队的链接,这些链接将导航到 http://localhost:4200/teams/season/team_2_id>。 .我使用函数在这两个页面之间进行路由:

export function routeToTeamSeason(team_season_id: string): void{
localStorage.clear()
this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>
this.router.navigate(['/teams/season', team_season_id])
)
}

这一切都按预期工作。我遇到的问题是,如果我从 team_1's 导航页面到 team_2's页面,然后按浏览器上的后退按钮,URL 更新为 team_1's team_season_id , 但组件不刷新并且 team_2's仍然显示数据。如果我然后刷新页面,它会重新加载 team_1's数据。

如何在 URL 更改时强制刷新页面?我有几个组件会出现这个问题,所以如果我可以制定一些全局规则,在 URL 更改时始终重新加载任何组件,那将是理想的。否则,我如何为特定组件实现这样的规则?

最佳答案

当然,我会在发布后 5 分钟找到答案。我能够设置一个全局规则,以便在按下后退/前进按钮时重新加载我的组件:

import { HostListener } from '@angular/core';

@HostListener('window:popstate', ['$event'])
onPopState(event) {
location.reload()
}

只需将其放入我的 app.component.ts 中,它的所有子组件现在将在 window:popstate 发生时随时调用 location.reload()

关于angular - 强制 Angular 分量在按下后退按钮时重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66962638/

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