如何访问Google Polymer 2中的“属性”?

时间:2017-04-10 16:23:07

标签: javascript polymer es6-class polymer-2.x

在Polymer 1.0中,我可以使用:

声明属性
properties: {
    salary: {
        type: Number,
        value: 80
    }
}

现在在Polymer 2.0(创建一个类)中,我应该编写一个类似的方法:

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

但现在this.propertiesnull。如何访问properties字段(而不是properties的值?)

1 个答案:

答案 0 :(得分:0)

this.properties尝试访问实例字段(排除静态字段)。由于propertiesstatic字段,因此您必须使用this.constructor.propertiesXFoo.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