1

在聚合物中,如果我有一个名为valuetypeBoolean和 default value的属性true

static get properties() {
  return {
    value: {
      type: Boolean,
      value: true
    }
  }
}

有什么方法可以将值设置为falseHTML 属性?

例如,所有这些示例都将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

4

1 回答 1

4

不,不幸的是,您不能将false值绑定到布尔属性,正如 Polymer文档所解释的那样:

对于可从标记配置的布尔属性,它必须默认为false. 如果它默认为true,则不能将其设置为falsefrom 标记,因为属性的存在,无论有无值,都等同于true。这是 Web 平台中属性的标准行为。

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

于 2017-02-28T13:23:59.390 回答