如何覆盖Polymer 2中的组件功能?

时间:2017-07-29 18:21:05

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

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

1 个答案:

答案 0 :(得分:1)

这可能会对您有所帮助:

<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的值存储为未定义。