1

为了

checked="checked"

html`${this.checked} < input type=checkbox ${this.checked}>`

当我在浏览器中检查输出时,而不是

选中<输入类型=复选框选中>

我越来越

检查<input type=checkbox <!--{{lit-5238200558676867}}--==$0">

我究竟做错了什么?

NB 单引号 = 反引号


更新

我已经通过创建一个元素来解决它,但我猜有一个更简单的语法

let cb = document.createElement("input");

cb.setAttribute('type', 'checkbox');

 if (this.checked) {

   cb.setAttribute('checked', 'true');

 }

 html `${cb}`
4

1 回答 1

2

答案是布尔属性需要一个?前缀。所以正确的语法是:

checked: boolean;
html`<input type=checkbox ?checked=${this.checked}>`

顺便说一句,当我最初拥有 它时,html '<input type=checkbox ?checked=${this.checked}/>'它抛出了一个错误Boolean attributes can only contain a single expression。元素不需要结束/>以避免这种情况。

于 2018-12-20T13:50:19.800 回答