2017-04-10 6 views
1

は、私はプロパティを宣言することができます(クラスを作成)Google Polymer 2の「プロパティ」にアクセスする方法は?ポリマー1.0で

ポリマー2.0で今
properties: { 
    salary: { 
     type: Number, 
     value: 80 
    } 
} 

、私のようなメソッドを記述する必要があります

static get properties() { 
    return { 
     salary: { 
      type: Number, 
      value: 80 
     } 
    } 
} 

しかし、今this.propertiesnullです。 propertiesフィールドにアクセスするにはどうすればいいですか(propertiesの値ではありません)。

答えて

0

this.propertiesインスタンスフィールド(静的フィールドを除く)にアクセスしようとします。 propertiesstaticフィールドなので、this.constructor.propertiesまたはXFoo.propertiesのいずれかを使用する必要があります。

例:

class XFoo extends Polymer.Element { 
    static get properties() { ... } 

    constructor() { 
    super(); 

    // this.constructor === XFoo 
    console.log('this.constructor.properties', this.constructor.properties); 
    console.log('XFoo.properties', XFoo.properties); 
    } 
} 

codepen

+0

非常に良いです!明らかに、私は静的フィールドとインスタンスフィールドの違いを理解しています:私の問題は、(派生クラスの名前を知ることができない)クラスミックスの新しいアプローチでのプロパティのプロパティにアクセスすることでした。あなたの例を参考にして、私はあなたの第2のアプローチを使用することはできませんが、最初は完璧です!どうもありがとうございました! :-) – Andrea

関連する問題