如何在Angular 2中分页重新加载页面?[关闭]


85

如何在Angular 2上重新加载当前页面?

如果iam在第2页(分页)并刷新页面,它将显示第1页(URL pageload),但我希望我刷新第2页,它将出现在第2页中


您想通过重新加载实现什么?可能有其他方法可以达到相同目的?
Madhu Ranjan

@MadhuRanjan我想重设所有模型,但不要重又重,
FABI1987

您可能会将所有模型获取功能都放在一个通用方法中,并在需要时调用它。
Madhu Ranjan

2
通常,浏览器功能可以在任何平台上使用,如果相应的操作系统可以正式使用。话虽如此,我建议您创建一个关于如何window.location.reload()在Linux上使用chrome的新的SO问题,这将是获得答案的理想场所,然后您可以检查代码以获取浏览器版本并获得顺理成章,欢呼!!
Madhu Ranjan

1
FWIW,我自己的用例是多语言支持,因为从v5.1开始,Angular在不对每种语言进行单独部署的情况下仍然不支持它。我有一个Razor页面,它决定要加载的Angular脚本包,具体取决于它从ASP.NET Core后端用户数据库中获取的语言首选项。为了在用户更改首选项后更改语言,仅重新加载Angular SPA不会,我需要重新加载整个Razor页面,以使其基本上加载其他Angular SPA。
Daniel Saner

Answers:


183

从技术上讲,这应该可以实现window.location.reload()

HTML:

<button (click)="refresh()">Refresh</button>

TS:

refresh(): void {
    window.location.reload();
}

更新:

这是一个基本的StackBlitz示例,显示了刷新操作。请注意,“ / hello”路径上的URL在window.location.reload()执行时将保留。


5
我想要更好的方式将windows.location不能跨平台...
FABI1987

没有简单的跨平台方式。您将必须检查它是什么平台,然后对该平台进行适当的重新加载。
Joo Beck '18

刷新无效,只会使用户返回首页。
Ace

它取决于您的路由设置方式以及服务器如何加载SPA路由。reload()是一种从当前URL重新加载资源的标准浏览器方法。
亚历山大·史塔索斯基
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.