Dans cet exemple, nous définissons un nouvel élément personnalisé . À l'intérieur de son constructeur, nous attachons une racine fantôme à l'aide de this.attachShadow({ mode: 'open' }), puis y ajoutons du contenu. Les styles définis dans la racine fantôme sont isolés du reste du document.

Modes DOM fantômes

Lors de la création d'une racine fantôme, vous pouvez spécifier son mode comme ouvert ou fermé.

Exemple de mode fermé

const shadow = this.attachShadow({ mode: \\'closed\\' });

Dans ce mode, l'ombre n'est pas accessible depuis l'extérieur du composant, ajoutant une couche de protection supplémentaire.

Style de l'ombre DOM

Vous pouvez définir des styles directement dans le shadow DOM. Ces styles ne s'appliqueront qu'au contenu de l'arborescence fantôme.

const style = document.createElement(\\'style\\');style.textContent = `    div {        font-size: 20px;        color: red;    }`;shadow.appendChild(style);

En ajoutant un élément

"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comprendre Shadow DOM : la clé des composants Web encapsulés

Comprendre Shadow DOM : la clé des composants Web encapsulés

Publié le 2024-11-07
Parcourir:207

Understanding Shadow DOM: The Key to Encapsulated Web Components

Dans le développement Web moderne, la création de composants réutilisables et maintenables est essentielle. Shadow DOM, qui fait partie du standard Web Components, joue un rôle crucial dans la réalisation de cet objectif. Cet article approfondit le concept de Shadow DOM, ses avantages et comment l'utiliser efficacement dans vos projets.

Qu’est-ce que Shadow DOM ?

Shadow DOM est une technique qui vous permet d'encapsuler une partie du DOM et du CSS dans un composant Web, garantissant qu'il est isolé du reste du document. Cette encapsulation empêche les fuites de styles et de scripts, ce qui facilite la création de composants modulaires et maintenables.

Concepts clés du Shadow DOM

  1. Shadow Tree : une arborescence DOM distincte et masquée attachée à un composant Web.
  2. Shadow Root : le nœud racine de l'arborescence fantôme.
  3. Shadow Host : l'élément DOM standard qui héberge l'arborescence fantôme.
  4. Shadow Boundary : la limite entre l'arbre fantôme et le DOM standard.

Avantages du Shadow DOM

1. Encapsulation

Shadow DOM fournit une séparation nette entre la structure interne du composant et le reste de l'application. Cette encapsulation permet d'éviter les conflits de style et de comportement, rendant vos composants plus prévisibles et plus faciles à maintenir.

2. Isolement des styles

Avec Shadow DOM, vous pouvez définir des styles qui s'appliquent uniquement au contenu à l'intérieur de l'arborescence fantôme. Cette isolation garantit que les styles de votre composant n'affectent pas le reste de la page, et vice versa.

3. Réutilisabilité améliorée

Les composants encapsulés sont plus réutilisables car ils sont autonomes. Vous pouvez facilement partager et utiliser ces composants sur différents projets sans vous soucier des problèmes d'intégration.

Création d'un DOM fantôme

Regardons un exemple simple de création d'un Shadow DOM en JavaScript.



    Shadow DOM Example

Dans cet exemple, nous définissons un nouvel élément personnalisé . À l'intérieur de son constructeur, nous attachons une racine fantôme à l'aide de this.attachShadow({ mode: 'open' }), puis y ajoutons du contenu. Les styles définis dans la racine fantôme sont isolés du reste du document.

Modes DOM fantômes

Lors de la création d'une racine fantôme, vous pouvez spécifier son mode comme ouvert ou fermé.

  • Mode ouvert : la racine fantôme est accessible à l'aide de JavaScript, permettant l'interaction et la manipulation.
  • Mode fermé : la racine fantôme est inaccessible depuis JavaScript, offrant un niveau d'encapsulation plus élevé.

Exemple de mode fermé

const shadow = this.attachShadow({ mode: 'closed' });

Dans ce mode, l'ombre n'est pas accessible depuis l'extérieur du composant, ajoutant une couche de protection supplémentaire.

Style de l'ombre DOM

Vous pouvez définir des styles directement dans le shadow DOM. Ces styles ne s'appliqueront qu'au contenu de l'arborescence fantôme.

const style = document.createElement('style');
style.textContent = `
    div {
        font-size: 20px;
        color: red;
    }
`;
shadow.appendChild(style);

En ajoutant un élément

Conclusion

Shadow DOM est une fonctionnalité puissante qui améliore la façon dont nous construisons des composants Web en fournissant une encapsulation et une isolation de style. En tirant parti de Shadow DOM, les développeurs peuvent créer des composants modulaires, réutilisables et maintenables qui s'intègrent de manière transparente dans n'importe quelle application Web. Comprendre et utiliser Shadow DOM est une compétence précieuse pour tout développeur Web moderne.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/mdhassanpatwary/understanding-shadow-dom-the-key-to-encapsulated-web-components-4bki?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3