聚合物 0.8:HTML 标记复杂属性内的数据绑定



我知道在较新的 Polymer 发行版 0.8 中,绑定到标签内的属性应该跟在 $ 符号之后。它的工作原理是这样的:

<tag attribute$="{{DATA}}">

例如,这很好用:

href$="{{url}}"

但是当属性变得更复杂时,它不起作用,例如在我的代码示例中:

<a style$="background-image: url({{backgroundimage}});">

这是一个字符串数据属性。

它在 0.8 中是否像在 0.5 中一样受支持?

0.8 目前不支持这样的复杂绑定。相反,您可能希望创建一个计算属性并使用它。

顺便说一句,如果你需要使用在元素上没有相应属性的属性,你只需要使用$={{ }}语法。由于 HTMLAnchorElement(<a> 标记)具有 href 属性,因此在这种情况下不必使用美元符号,只需使用 href={{url}} 创建常规绑定即可。

换句话说:

href="{{site}}" 表示 "将 this.site 绑定到 element.href" href$="{{site}}" 表示 "将 this.site 绑定到 element.attributes.href.value"

在使用布尔属性(如隐藏或禁用)时,通常只需要 $ 语法。或者在 JavaScript 中元素没有相应属性的情况下。

最新更新