如何防止在angular 4+中更改查询字符串时页面刷新/重新加载?

时间:2019-02-26 12:19:34

标签: javascript angular

我正在向角度路线添加一些查询字符串参数

http://localhost:4200/home/transactions?toDate=2019-02-26&fromDate=2018-01-01&startIndex=0&pageSize=20&showCashedOut=true

如果我从“ URL”选项卡更改查询参数中的任何值,则会刷新页面,请问有什么办法防止这种现象?我希望能够更改该值并防止刷新页面。我查找了堆栈溢出和其他资源

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

在“浏览器URL”选项卡中更改URL时刷新页面是不可避免的。只能通过浏览器对话框“您要离开此页面”来阻止它,但是我想那不是您的用例。

如果要在应用程序中更改URL,请查看location.replaceState()。另外,您可以为更多自定义方案实施route guard

答案 1 :(得分:0)

只需在 app-routing.module.ts 中添加以下内容:

 RouterModule.forRoot(routes, {
      useHash: true,
    }),

使用哈希允许您手动更新查询参数而无需重新加载页面。

详情在此: