Middle
Mis on Shadow DOM?
sobes.tech AI
Vastus AI-lt
Shadow DOM — see on veebistandard, mis võimaldab inkapsuleerida DOM-puu ja stiile komponendi sees, isolatsiooniks neid ülejäänud dokumendist.
Peamised kontseptsioonid:
- Shadow tree: Oma DOM-puu, mis on ühendatud elemendiga.
- Shadow boundary: Piir, mis eraldab Shadow DOM-i põhidokumendist.
- Shadow host: Element, millele Shadow DOM on ühendatud.
- Shadow root: Shadow puu juurelõpp.
Eelised:
- Stiilide isolatsioon: Shadow DOM-i sees määratletud stiilid ei mõjuta selle väliseid elemente ja vastupidi.
- DOM-i isolatsioon: Shadow DOM-i sees olev DOM-struktuur ei ole nähtav ega otseselt kättesaadav põhidokumendist, mis takistab ID ja klasside konflikte.
- Kapseldus: loob moodul- ja korduvkasutatavaid komponente.
Shadow DOM-i loomine:
const hostElement = document.getElementById('my-component');
const shadowRoot = hostElement.attachShadow({ mode: 'open' }); // režiim: 'open' - kättesaadav JavaScripti kaudu; 'closed' - mitte
shadowRoot.innerHTML = `
<style>
/* Selle Shadow DOM stiilid */
p {
color: blue;
}
</style>
<p>See on Shadow DOM sisu</p>
`;