У меня очень простой сайт, похожий на этот jsfiddle . Кажется, что все работает нормально, но на моем локальном, но когда я останавливаюсь на первой строке JS (до объявления пользовательских элементов), я вижу div без форматирования ...
<jrg-test>
<div slot="test">
This should work
</div>
</jrg-test>
connectedCallback() {
console.log("Ok we are working")
this.shadowRoot.innerHTML = "<slot name='test'></slot>"
const element = document.createElement('style');
element.textContent = "::slotted(*){background-color:red;color:white;}";
this.shadowRoot.appendChild(element);
}
Таким образом, в основном, если я остановлюсь до того, как пользовательский элемент будет отрендерен, я вижу необработанный div. Я знаю, что есть некоторые хакерские решения, связанные с позиционированием и CSS, но есть ли более чистое решение. Возможно, один из них я могу реализовать исключительно в JS?
Так что главный вопрос в том, как мне скрыть текст This should work
, пока не будут применены красный фон и белый цвет?