<!doctype html> <!-- @license Copyright (c) 2015 The Polymer Project Authors. All rights reserved. This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt --> <html> <head> <title>iron-localstorage</title> <script src="../../webcomponentsjs/webcomponents-lite.js"></script> <link rel="import" href="../../paper-styles/paper-styles.html"> <link rel="import" href="../../paper-styles/demo-pages.html"> <link rel="import" href="../../paper-checkbox/paper-checkbox.html"> <link rel="import" href="../iron-localstorage.html"> <style is="custom-style"> input { padding: 0.4em; font-size: 16px; margin: 15px 0; } </style> </head> <body> <div class="vertical-section vertical-section-container centered"> <template is="dom-bind"> <iron-localstorage name="polymer-localstorage-x-test1" value="{{value}}" on-iron-localstorage-load-empty="initializeDefaultValue" ></iron-localstorage> <p>Form element below will be kept in sync with <code>localStorage</code>.</p> <p>Demo source also shows how to initialize storage to default value</p> <p>If you open another window with this test, changes in one window will propagate to the other immediately.</p> <p>Name: <input value="{{value.name::change}}" placeholder="Enter words"></p> <paper-checkbox checked="{{value.hasEars::change}}">Has ears</paper-checkbox> </template> </div> <script> document.querySelector('template').initializeDefaultValue = function(ev) { console.log("initializeTemplate"); this.value = { name: "Mickey", hasEars: true } } </script> </body> </html>