Есть ли способ узнать, сколько дочерних элементов содержит именованный слот?В моем компоненте Stencil у меня есть что-то вроде этого в моей функции рендеринга:
<div class="content">
<slot name="content"></slot>
</div>
Что я хочу сделать, это по-разному стилизовать div.content в зависимости от того, сколько дочерних элементов находится внутри слота.Если в слоте нет дочерних элементов, то div.content style.display = 'none', в противном случае к div.content применяется несколько стилей, которые позволяют правильно отображать дочерние элементы на экране.
Я попытался сделать:
const divEl = root.querySelector( 'div.content' );
if( divEl instanceof HTMLElement ) {
const slotEl = divEl.firstElementChild;
const hasChildren = slotEl && slotEl.childElementCount > 0;
if( !hasChildren ) {
divEl.style.display = 'none';
}
}
, однако всегда сообщается hasChildren = false, даже если в слот вставлены предметы.