我使用聚合物-2并尝试从网址获取queryParams
但是如果我点击 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
?
答案 0 :(得分:-2)
这是一个铁定位元素的错误。
要解决此问题,请修改paramsObject
属性(在iron-location/iron-query-params.html
中),直到修复错误。
目前属性如下:
paramsObject: {
type: Object,
notify: true,
value: function() {
return {};
}
},
删除值:
value: function() {
return {};
}
最后看起来像:
paramsObject: {
type: Object,
notify: true,
},
我看到这个bug已经有了一个拉取请求,当它们合并时就是idk。