Polymer app-localstorage 不适用于会话存储

Polymer app-localstorage not working for session storage

在聚合物文档中,当我们使用 app-localstorage 并且如果我们设置 属性 sessionOnly ="true" 和 storage="window.sessionStorage" 数据应该存储在会话存储中,但它的仍在本地存储中存储数据

 <paper-input value="{{myData}}"></paper-input>
<app-localstorage-document key="search" data="{{myData}}" sessionOnly="true" storage="window.sessionStorage">
</app-localstorage-document>

如何在会话中存储数据以及当用户关闭浏览器时它应该销毁?

您的代码片段中有一些错误。

首先,Polymer使用两种情况——camelCasedash-case。第一个用于 属性 名称,第二个用于属性 (see specification)。由于您使用 sessionOnly 属性 作为属性,您应该将其更改为 session-only.

因此,更正后的代码片段是:

<paper-input value="{{myData}}"></paper-input>
  <app-localstorage-document key="search" data="{{myData}}" session-only="true">
</app-localstorage-document>

其次,请注意我还从我的代码片段中删除了 storage 属性。此 属性 是计算出来的,因此无法设置。这实际上从 element's API docs, but only via inspecting the element's source code:

中看不清楚
storage: {
  type: Object,
  computed: '__computeStorage(sessionOnly)'
}

如果您有任何其他问题,请随时在评论中提问。