Warum werden Stile in Angular nicht auf InnerHTML angewendet?
Stile funktionieren nicht für innerHTML in Angular
Problemstellung:
Wenn HTML-Code als innerHTML an eine Ansicht übergeben wird, Im Code definierte Stile werden nicht angewendet. Wenn der HTML-Code keine Inline-Stile enthält, wird er korrekt angezeigt. Wenn dem HTML-Code jedoch Inline-Stile wie Hintergrundfarbe hinzugefügt werden, werden diese ignoriert.
Ursache:
Dieses Verhalten ist auf Folgendes zurückzuführen: Die standardmäßige Komponentenkapselung von Angular ist auf „Emuliert“ eingestellt. Die emulierte Kapselung verhindert, dass CSS-Stile Elemente innerhalb und außerhalb der Komponente beeinflussen.
Lösung:
Damit in innerHTML definierte Stile angewendet werden können, muss die Kapselung der Komponente erfolgen in „Keine“ geändert werden. Dies kann durch Hinzufügen des folgenden zusätzlichen Codes zur App erreicht werden:
import { Component, ViewEncapsulation } from '@angular/core'; @Component({ selector: 'example', styles: ['.demo {background-color: blue}'], template: '<div [innerHTML]="someHtmlCode"></div>', encapsulation: ViewEncapsulation.None, }) export class Example { private someHtmlCode = ''; constructor() { this.someHtmlCode = '<div class="demo"><b>This is my HTML.</b></div>'; } }
Wenn die Kapselung auf „Keine“ eingestellt ist, werden in innerHTML definierte Stile automatisch zum DOM hinzugefügt, sodass sie auf die angewendet werden können Elemente, die durch den HTML-Code erstellt wurden.
Das obige ist der detaillierte Inhalt vonWarum werden Stile in Angular nicht auf InnerHTML angewendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

Fragen zu lila Schrägstrichen in Flex -Layouts Bei der Verwendung von Flex -Layouts können Sie auf einige verwirrende Phänomene stoßen, wie beispielsweise in den Entwicklerwerkzeugen (D ...

CSS Grid ist eine Sammlung von Eigenschaften, die das Layout einfacher machen als jemals zuvor. Wie alles andere ist es eine kleine Lernkurve, aber das Gitter ist
