对于
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}`
答案 0 :(得分: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
。元素不必以/>
结尾来避免这种情况。