角度保存searchParams和页面刷新

时间:2018-11-07 09:58:18

标签: angular angular2-routing

我在一个显示一些用户的搜索页面中,有一个带有一些过滤器的搜索栏,这些过滤器将用于通过HttpClient对服务器执行GET请求。 我找不到的最佳做法是将这些参数存储在查询字符串上(以便为搜索添加书签),即使刷新页面,它们也将保留在“ URL”中。 我现在正在做的是:

  • 执行搜索请求
  • this.router.navigate([], { queryParams: { search: searchParams }});,其中searchParams是一个字符串,其中包含用于搜索的所有参数。
  • 每次在商店(redux)中更新这些searchParam时都存储它们
  • 在组件的ngOnInit上,我正在使用route:ActivatedRoute从类似route.snapshot.queryParams.search的路线快照中读取参数,以进行检索(如果有searchParams的话),并在重新加载页面时使用它们执行新的调用。

正在发生的事情是,当我在应用某些过滤器后重新加载页面时,该页面会重新加载以正确读取url中的参数,但是无法在queryString中再次设置它们,因此,如果我重新加载,该页面将不会应用任何过滤器。

在上面的解决方案中,我几乎接近“解决方案”,但我认为这不是最好的方法,必须有更明智的方法。

0 个答案:

没有答案