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, когда они будут сливаться.