##<iron-localstorage>
Element access to Web Storage API (window.localStorage).
Keeps value
property in sync with localStorage.
Value is saved as json by default.
ls-sample
will automatically save changes to its value.
<dom-module id="ls-sample"> <iron-localstorage name="my-app-storage" value="{{cartoon}}" on-iron-localstorage-load-empty="initializeDefaultCartoon" ></iron-localstorage> </dom-module> <script> Polymer({ is: 'ls-sample', properties: { cartoon: { type: Object } }, // initializes default if nothing has been stored initializeDefaultCartoon: function() { this.cartoon = { name: "Mickey", hasEars: true } }, // use path set api to propagate changes to localstorage makeModifications: function() { this.set('cartoon.name', "Minions"); this.set('cartoon.hasEars', false); } }); </script>
value.*
is observed, and saved on modifications. You must use path change notification methods such as set()
to modify value for changes to be observed.
Set auto-save-disabled
to prevent automatic saving.
Value is saved as JSON by default.
To delete a key, set value to null
Element listens to StorageAPI storage
event, and will reload upon receiving it.
Warning: do not bind value to sub-properties until Polymer bug 1550 is resolved. Local storage will be blown away. <iron-localstorage value="{{foo.bar}}"
will cause data loss.