在聚合物中,如果我有一个名为value
且属性为Boolean
且默认值为true
的属性:
static get properties() {
return {
value: {
type: Boolean,
value: true
}
}
}
有没有办法使用HTML属性将值设置为false
?
e.g。所有这些样本都将value
属性表示为true
:
<my-element></my-element>
<my-element value></my-element>
<my-element value="false"></my-element>
<my-element value="[[false]]"></my-element>
<my-element value="{{false}}"></my-element>
<my-element value="{{!constructor}}"></my-element>
以下是一个示例代码:http://codepen.io/anon/pen/KWdWRm
答案 0 :(得分:4)
不,遗憾的是,您无法将false
值绑定到布尔属性,因为Polymer docs会解释:
对于可从标记配置的布尔属性,它必须默认为
false
。如果默认为true
,则无法从标记中将其设置为false
,因为属性的存在(包含或不包含值)等于true
。这是Web平台中属性的标准行为。如果此行为不适合您的用例,则可以使用字符串值或数值属性。