我正在使用app-localstorage-document将数据存储在浏览器中。该文档说,重写zeroValue方法可以定义没有数据存储时要使用的默认值。但是我不知道如何在Polymer中重写组件的方法。这是我尝试过的方法,但是我认为这是不正确的,因为未调用该函数。

<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");
   }
}

最佳答案

这可能对您有帮助:

<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: function() {
              return this.zeroValue;
         }
       }
     };
   }

   //Override the default method
   get zeroValue(){
     return 'a cat';
   }
}


如果您不想覆盖zeroValue(),它将把键CatValue的值存储为未定义。

关于javascript - 如何在Polymer 2中覆盖组件的功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45392595/

10-10 17:18