Угловое сохранение searchParams и обновление страницы - PullRequest
0 голосов
/ 07 ноября 2018

Я нахожусь на странице поиска, где отображаются некоторые пользователи, есть панель поиска с некоторыми фильтрами, и эти фильтры будут использоваться для выполнения запроса GET к серверу с HttpClient. То, что я не могу найти, это лучший способ сохранить эти параметры в строке запроса (чтобы иметь возможность добавить в закладки поиск), и даже если страница обновится, они будут сохранены в URL. То, что я делаю сейчас:

  • Выполнить поисковый запрос
  • this.router.navigate([], { queryParams: { search: searchParams }}); где searchParams - это строка, содержащая все параметры, используемые для поиска.
  • Хранение этих searchParams каждый раз, когда они обновляются в Магазине (избыточный)
  • На ngOnInit компонента я использую route:ActivatedRoute для чтения параметров из снимка маршрута, подобного этому route.snapshot.queryParams.search, чтобы получить, если есть searchParams, и использовать их для выполнения новый вызов при перезагрузке страницы.

Что происходит, когда я перезагружаю страницу после применения некоторых фильтров, страница перезагружается правильно, считывая параметры из URL, но она не может установить их снова в queryString, поэтому, если я перезагружу снова, к странице не будут применены фильтры.

С этим решением, которое я описал выше, я довольно близок к «решению», но я не думаю, что это лучший способ сделать это, должен быть более разумный способ сделать это.

...