我目前正在阅读有关host attributes的Polymer文档, 从写的内容来看,似乎没有任何可靠的推理。
这是我可以从文档中扣除的唯一声明:
如果自定义元素在创建时需要在其上设置HTML属性,请使用hostAttributes
这对我来说实用性没有多大意义。
有人可以进一步详细说明这个话题吗?或链接到其网站上的更详细文档(如果存在)。
编辑:我还读到,他们不应该被误认为属性,并且有一个特殊的双向数据绑定表示法。
答案 0 :(得分:0)
这是一个令人遗憾的文档略显简洁的案例。 Polymer元素上的hostAttributes
与元素上的常规属性不同,因为它们在创建时在元素上设置。根据{{3}}(自您提出此问题以来已更新):
在以下情况下,元素已准备就绪:
- 已配置其属性值,其值从父项数据绑定,从属性值反序列化,或设置为其默认值。
这里需要注意的重要细节是元素的属性在元素的创建时间之后和ready
回调之前设置。 hostAttributes
在created
回调之前设置,即。在创作期间。
hostAttributes
的行为与本机html元素上与Polymer数据绑定有关的行为相同。 "特殊符号",attr$="value"
就是这样:
<!-- Polymer element -->
<my-el normal-property="[[myData1]]" host-attr$="[[myData2]]"></my-el>
<!-- Native element -->
<div hidden$="[[setDivHidden]]"></div>
为什么在Polymer中使用主机属性?
您可能希望在创建元素后直接使用这些属性。它还将属性的语义传达为静态。