重新加载页面后,QueryParams正在删除

时间:2017-08-14 07:01:46

标签: polymer app-route iron-pages

我使用聚合物-2并尝试从网址获取queryParams但是如果我点击 127.0.0.1:8081/listing?q=madrid 然后重定向到 127.0.0.1:8081/listing ,并从URL中删除查询参数。

实际上我在主页上有一个搜索表单,在填写之后我想去列表页面,我使用window.history.pushStatewindow.dispatchEvent(new CustomEvent('location-changed'))来传递参数。它工作正常,但如果我重新加载页面,那么所有queryParams都会消失,只有path存在。我的app-locationapp-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

1 个答案:

答案 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。