hostAttributes和聚合物中的属性有什么区别?

时间:2015-06-09 05:07:14

标签: polymer polymer-1.0

我正在从0.5迁移到1.0。

在阅读时,我注意到使用hostAttributesproperties声明属性的两种不同方式。

这两者之间有什么区别?

2 个答案:

答案 0 :(得分:5)

主机属性是与元素的相应Javascript属性(您在properties中声明)不匹配的属性。这包括classtabindexdata-*属性,aria-roles等属性。要在创建时声明它们,必须在hostAttributes对象中设置它们。如果要将值绑定到其中,则必须使用$=(调用Element.setAttribute)而不是=

来源:

答案 1 :(得分:0)

如果自定义元素需要在创建时在其上设置HTML属性,则可以在原型的hostAttributes属性中声明该属性,其中键是属性名称,值是要分配的值。

但是现在由于侦听器和hostAttributes已从元素元数据中删除

我们可以使用_ensureAttribute作为定义此类属性的替代方法

例如:-

this._ensureAttribute('tabindex',0); 您可以在就绪状态下声明所有此类属性