如何在app-localstorage-document之前检查密钥是否已存储?

时间:2017-07-29 10:09:41

标签: javascript polymer local-storage web-component polymer-2.x

我正试图弄清楚如何检查app-localstorage-document中的密钥是否为空。之前我使用了iron-localstorage,其中有一个事件on-iron-localstorage-load-empty,当密钥为空时调用该事件。

我使用以下代码iron-localstorage

<iron-localstorage name="my-app-storage" value="{{cat}}" on-iron-localstorage-load-empty="initializeDefaultCat" on-iron-localstorage-load="loadCatFromLocal"></iron-localstorage>

initializeDefaultCat(){
    //some code to initialize the key
}

loadCatFromLocal(){
   //some code to load the key when webpage opens
   // and manipulate the data as per requirement
}

我使用app-localstorage-document尝试了以下内容:

<app-localstorage-document key="CatValue" data="{{cat}}"></app-localstorage-document>

class MyApp extends Polymer.Element{
   static get is(){return 'my-app';}
   static get properties(){
     return{
       cat:{
         type: String,
         value: ""
       }
     };
   }

   zeroValue(){
     this.set('cat',"a cat");
   }
}

zeroValue()需要从某个地方调用,但我不知道从哪里调用它。在iron-localstorage的情况下,使用事件从组件标记本身调用该函数,但app-localstorage-document中没有此类事件。我想要做的就是在第一次存储密钥时或者当密钥为空时初始化密钥,并在页面加载时加载密钥以根据应用程序要求操作数据。

1 个答案:

答案 0 :(得分:0)

value

我自己没有使用过该元素。如果localStorage中的键不存在,zeroValue是否返回null?如果没有,那么您不需要from itertools import imap方法,而是设置默认值。