在Polymer 2 docs中,他们使用构造函数来设置this.owner =“daniel”,然后他们将展示如何使用static get properties()设置属性。
在JSConsole中,我可以使用myelement.owner和myelement.prop1,如果我dir(myelement)我可以看到所有者和prop1那里......那么有什么区别?
答案 0 :(得分:2)
嗯,关于功能,两者都实现了相同的目标。
时间轴真的有利于构造函数初始化变量。
但是,由于您在CTOR中初始化所有者,因此无法通过myElement.properties
获取。
使用静态方法的优点可能是,您无需从类<my-element>
创建元素myElement
来获取您在静态方法中定义的任何属性。
尝试记录
myElement.properties
- 并查看您找不到列出的所有者。但是你会在那里找到prop1。
但是,要获得所有者的值,您基本上需要实例化类myElement
或将元素<my-element>
连接到DOM
尝试记录
myElement.owner
- 这应该返回undefined尝试记录
new myElement().owner
- 这应该抓取daniel