如何使用Polymer中的属性覆盖属性的值:true

时间:2017-02-28 13:17:01

标签: polymer polymer-2.x

在聚合物中,如果我有一个名为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

1 个答案:

答案 0 :(得分:4)

不,遗憾的是,您无法将false值绑定到布尔属性,因为Polymer docs会解释:

  

对于可从标记配置的布尔属性,它必须默认为false。如果默认为true,则无法从标记中将其设置为false,因为属性的存在(包含或不包含值)等于true。这是Web平台中属性的标准行为。

     

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