聚合物app-localstorage不适用于会话存储

时间:2017-02-17 10:54:16

标签: polymer polymer-1.0

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

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

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

1 个答案:

答案 0 :(得分:1)

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

首先,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开始,这实际上并不清晰,但只能通过检查element's source code

storage: {
  type: Object,
  computed: '__computeStorage(sessionOnly)'
}

如果您有任何其他问题,请在评论中不要犹豫。