Polymer 如何覆盖属性';s值:为true,具有聚合物中的属性

Polymer 如何覆盖属性';s值:为true,具有聚合物中的属性,polymer,polymer-2.x,Polymer,Polymer 2.x,在polymer中,如果我有一个名为value的属性,类型为Boolean,默认值为true: static get properties() { return { value: { type: Boolean, value: true } } } <my-element></my-element> <my-element value></my-element> <my-element val

在polymer中,如果我有一个名为
value
的属性,类型为
Boolean
,默认值为
true

static get properties() {
  return {
    value: {
      type: Boolean,
      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>
有没有办法使用HTML属性将值设置为
false

e、 g.所有这些示例都将
属性表示为

static get properties() {
  return {
    value: {
      type: Boolean,
      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>


下面是一个示例代码笔:

否,不幸的是,您无法将
false
值绑定到布尔属性,如图所示:

要从标记配置布尔属性,它必须默认为
false
。如果该属性默认为
true
,则不能从标记中将其设置为
false
,因为该属性的存在(带或不带值)等同于
true
。这是web平台中属性的标准行为

如果此行为不适合您的用例,您可以改用字符串值或数字值属性


不,不幸的是,您不能将
false
值绑定到布尔属性,如下所示:

要从标记配置布尔属性,它必须默认为
false
。如果该属性默认为
true
,则不能从标记中将其设置为
false
,因为该属性的存在(带或不带值)等同于
true
。这是web平台中属性的标准行为

如果此行为不适合您的用例,您可以改用字符串值或数字值属性