Как заменить текст внутри тега элемента?

За

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, Элемент не должен заканчиваться /> чтобы избежать этого.

Другие вопросы по тегам