Maison > interface Web > tutoriel CSS > le corps du texte

Comment styliser le contenu InnerHTML dans Angular à l'aide de l'encapsulation de vue ?

Barbara Streisand
Libérer: 2024-11-01 15:28:30
original
296 Les gens l'ont consulté

How to Style InnerHTML Content in Angular Using View Encapsulation?

Styler InnerHTML dans Angular à l'aide de l'encapsulation de vue

Dans Angular, la définition de la propriété innerHTML vous permet de restituer dynamiquement le contenu HTML dans la vue d'un composant. Cependant, vous pourriez rencontrer des problèmes lorsque vous essayez de styliser ce contenu injecté.

Problème : Lorsque vous utilisez innerHTML pour injecter du contenu HTML incluant des styles en ligne, les styles peuvent ne pas être appliqués. Par exemple, le code suivant n'appliquera pas le style background-color à l'élément div injecté :

<code class="typescript">this.someHtmlCode = '<div style="background-color: blue;"><b>This is my HTML.</b></div>';</code>
Copier après la connexion

Solution : Angular utilise par défaut un concept appelé encapsulation de vue « émulée ». Cela empêche les styles définis dans les composants d'interférer avec les styles définis en dehors de ceux-ci. Pour autoriser les styles en ligne pour le contenu injecté, vous devez modifier l'encapsulation sur Aucun.

<code class="typescript">@Component({
  selector: 'example',
  styles: ['.demo {background-color: blue}'],
  template: '<div [innerHTML]="someHtmlCode"></div>',
  encapsulation: ViewEncapsulation.None,
})</code>
Copier après la connexion

En définissant la propriété d'encapsulation sur Aucun, Angular n'empêchera plus l'application des styles en ligne. Cela vous permet de définir des styles à la fois dans le tableau de styles du composant et dans le contenu HTML injecté, et Angular les appliquera automatiquement au DOM.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!