Я думаю, что это может помочь:
render() {
return html` <slot id="slot">No content is available</slot>
`;}
firstUpdated(){
const slot = this.shadowRoot.querySelector("#slot");
this.slt = slot.assignedNodes();
if (this.slt.length===0){
console.log('No content is available')
} else {
console.log('Content available', this.slt)
}
}
Вы не можете назначить узлы слота, если вы не визуализируете элемент слота.Вот почему сначала вам нужно сделать это.Ведь есть много способов это скрыть.Другой способ - определить его у его родителей и передать номер элемента слота в качестве свойства.
Демо