Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Menggayakan Kandungan InnerHTML dalam Sudut Menggunakan Enkapsulasi Paparan?

Bagaimana untuk Menggayakan Kandungan InnerHTML dalam Sudut Menggunakan Enkapsulasi Paparan?

Barbara Streisand
Barbara Streisandasal
2024-11-01 15:28:30397semak imbas

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>

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>

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!

Kenyataan:
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