QueryParams удаляются после перезагрузки страницы

Я использую полимер-2 и пытаюсь получить queryParams с URL, но если я нажму 127.0.0.1:8081/listing?q=madrid, он перенаправляется на 127.0.0.1:8081/listing и удаляет параметры запроса из URL.

На самом деле у меня есть форма поиска на главной странице, после ее заполнения я хочу перейти на страницу со списком и я использую window.history.pushState а также window.dispatchEvent(new CustomEvent('location-changed')) передать параметры. Работает нормально, но если я перезагрузить страницу, то все queryParams исчезают, только path существует мой app-location а также app-route являются

<app-location
  route="{{route}}"
  url-space-regex="^[[rootPath]]
  query-params="{{queryParams}}"">
</app-location>

<app-route
    route="{{route}}"
    pattern="[[rootPath]]:page"
    data="{{routeData}}"
    tail="{{subroute}}">
</app-route>

<app-route
  route="{{subroute}}"
  pattern="/:view"
  data="{{locationRoute}}">
</app-route>

Мой элемент железных страниц

<iron-pages
    selected="[[page]]"
    attr-for-selected="name"
    fallback-selection="view404"
    role="main">
  <home name="home"></home>
  <listing name="listing"></listing>
  <listing name="refine"></listing>
  <detail name="detail"></detail>
  <vrs-view404 name="view404"></vrs-view404>
</iron-pages>

Где моя ошибка и как не потерять queryParams с URL?

1 ответ

Это ошибка элемента Iron-Location.

Чтобы решить эту проблему, измените paramsObject свойства (в iron-location/iron-query-params.html) пока ошибка не будет исправлена.

В настоящее время свойства выглядят так:

  paramsObject: {
    type: Object,
    notify: true,
    value: function() {
      return {};
    }
  },

удалить значение:

value: function() {
    return {};
 }

Наконец это будет выглядеть так:

  paramsObject: {
    type: Object,
    notify: true,
  },

Я вижу, что эта ошибка уже есть запрос на извлечение, idk, когда они будут сливаться.

Другие вопросы по тегам