top | item 43956141

(no title)

mikebelanger | 9 months ago

Great resource! I particularly like the fact that their web component section doesn't use the shadow DOM. It's really too bad custom elements got associated with shadow DOM, as they're so useful beyond the more niche usage cases of the shadow DOM.

discuss

order

troupo|9 months ago

> It's really too bad custom elements got associated with shadow DOM

Because it was heavily pushed, advertised, and is the default way of writing web components (you have to explicitly specify mode: open)

throwitaway1123|9 months ago

> you have to explicitly specify mode: open

The mode does not toggle the shadow DOM on and off. It just specifies whether or not the element's shadowRoot object is a public property. An open mode makes this possible: `document.querySelector('my-component').shadowRoot`.

You have to explicitly opt-in to the shadow DOM either imperatively by calling `attachShadow`, or declaratively in HTML by giving the element a template child element with a `shadowrootmode` attribute.