Bagaimana untuk Menggayakan Kandungan InnerHTML dalam Sudut Menggunakan Enkapsulasi Paparan?

Barbara Streisand
Lepaskan: 2024-11-01 15:28:30
asal
296 orang telah melayarinya

How to Style InnerHTML Content in Angular Using View Encapsulation?

Menggayakan InnerHTML dalam Sudut Menggunakan Enkapsulasi Paparan

Dalam Sudut, menetapkan sifat innerHTML membolehkan anda memaparkan kandungan HTML secara dinamik dalam paparan komponen. Walau bagaimanapun, anda mungkin menghadapi masalah semasa cuba menggayakan kandungan yang disuntik ini.

Masalah: Apabila menggunakan innerHTML untuk menyuntik kandungan HTML yang termasuk gaya sebaris, gaya mungkin tidak digunakan. Sebagai contoh, kod berikut tidak akan menggunakan gaya warna latar belakang pada elemen div yang disuntik:

<code class="typescript">this.someHtmlCode = '<div style="background-color: blue;"><b>This is my HTML.</b></div>';</code>
Salin selepas log masuk

Penyelesaian: Angular menggunakan konsep yang dipanggil pengkapsulan paparan "dicontohi" secara lalai. Ini menghalang gaya yang ditakrifkan dalam komponen daripada mengganggu gaya yang ditakrifkan di luarnya. Untuk membenarkan gaya sebaris untuk kandungan yang disuntik, anda perlu menukar enkapsulasi kepada Tiada.

<code class="typescript">@Component({
  selector: 'example',
  styles: ['.demo {background-color: blue}'],
  template: '<div [innerHTML]="someHtmlCode"></div>',
  encapsulation: ViewEncapsulation.None,
})</code>
Salin selepas log masuk

Dengan menetapkan sifat enkapsulasi kepada Tiada, Angular tidak akan lagi menghalang gaya sebaris daripada digunakan. Ini membolehkan anda menentukan gaya kedua-dua dalam tatasusunan gaya komponen dan dalam kandungan HTML yang disuntik, dan Angular akan menggunakannya secara automatik pada DOM.

Atas ialah kandungan terperinci Bagaimana untuk Menggayakan Kandungan InnerHTML dalam Sudut Menggunakan Enkapsulasi Paparan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!