【问题标题】:How to reload page the page with pagination in Angular 2? [closed]如何在Angular 2中使用分页重新加载页面? [关闭]
【发布时间】:2017-10-14 14:35:43
【问题描述】:

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

如果 iam 在第 2 页(分页)并刷新页面,它将显示第 1 页(URL 页面加载) 但我想刷新第 2 页,它会出现在第 2 页中

【问题讨论】:

  • 你想通过重载达到什么目的?是否有其他方法可以达到同样的效果?
  • @MadhuRanjan 我想重置所有模型,但不是值后的值,
  • 您可以在一个通用方法中拥有所有模型获取函数,并在需要时调用它。
  • 通常浏览器功能无论平台如何都可以正常工作,如果它可用于相应的操作系统。话虽如此,我建议您创建一个新的 SO 问题,关于如何在 Linux 上绕过window.location.reload() for chrome,这将是获得答案的理想场所,然后您可以检查您的代码以获取浏览器版本并有一个逻辑,干杯!!
  • FWIW,我自己的用例是多语言支持,因为从 v5.1 开始,Angular 在没有对每种语言进行单独部署的情况下仍然不支持它。我有一个 Razor 页面,它决定加载哪个 Angular 脚本包,具体取决于它从 ASP.NET Core 后端的用户数据库获得的语言首选项。为了在用户更改偏好后更改语言,仅重新加载 Angular SPA 是行不通的,我需要重新加载整个 Razor 页面以基本上让它加载不同的 Angular SPA。

标签: angular refresh angular2-routing reload page-refresh


【解决方案1】:

这在技术上应该可以使用window.location.reload()

HTML:

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

TS:

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

更新:

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

【讨论】:

  • 我想要更好的方式 windows.location 不跨平台...
  • 没有简单的跨平台方式。您必须检查它是什么平台,然后为该平台进行适当的重新加载。
  • 刷新不起作用,只会将用户带回第一页。
  • 这取决于您的路由设置方式以及服务器加载 SPA 路由的方式。 reload() 是从当前 URL 重新加载资源的标准浏览器方法。
猜你喜欢
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
  • 2017-11-22
  • 1970-01-01
相关资源
最近更新 更多