Как заменить текст внутри тега элемента?
За
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}`
1 ответ
Ответ заключается в том, что логические атрибуты нуждаются в ?
префикс. Итак, правильный синтаксис:
checked: boolean;
html`<input type=checkbox ?checked=${this.checked}>`
Как в стороне, когда у меня изначально было html '<input type=checkbox ?checked=${this.checked}/>'
это выдало ошибку Boolean attributes can only contain a single expression
, Элемент не должен заканчиваться />
чтобы избежать этого.