2017-02-17 26 views
1

В документации на полимерную документацию указано, что при использовании app-localstorage и при установке свойства sessionOnly = "true" и storage = "window.sessionStorage" данные должны храниться в хранилище сеансов, но его до сих пор хранящие данные в LocalStoragePolymer app-localstorage не работает для хранения сеанса

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

как хранить данные в сессии, и его следует уничтожить, когда пользователь закрывает браузер?

ответ

1

У вас есть несколько ошибок в вашем фрагменте кода.

Во-первых, полимер использует два вида чехлов - camelCase и dash-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)' 
} 

Если у вас есть какие-либо дополнительные вопросы, не стесняйтесь задавать ниже в комментариях.