ビューのカプセル化を使用して Angular で InnerHTML コンテンツをスタイル設定する方法?

Barbara Streisand
リリース: 2024-11-01 15:28:30
オリジナル
296 人が閲覧しました

How to Style InnerHTML Content in Angular Using View Encapsulation?

ビューのカプセル化を使用した Angular での InnerHTML のスタイル設定

Angular では、 innerHTML プロパティを設定すると、コンポーネントのビュー内で HTML コンテンツを動的にレンダリングできます。ただし、この挿入されたコンテンツのスタイルを設定しようとすると、問題が発生する可能性があります。

問題: innerHTML を使用してインライン スタイルを含む HTML コンテンツを挿入すると、スタイルが適用されない場合があります。たとえば、次のコードは、挿入された div 要素に背景色のスタイルを適用しません:

<code class="typescript">this.someHtmlCode = '<div style="background-color: blue;"><b>This is my HTML.</b></div>';</code>
ログイン後にコピー

解決策: Angular は、デフォルトで「エミュレートされた」ビューのカプセル化と呼ばれる概念を採用しています。これにより、コンポーネント内で定義されたスタイルがコンポーネントの外部で定義されたスタイルと干渉するのを防ぎます。挿入されたコンテンツのインライン スタイルを許可するには、カプセル化を [なし] に変更する必要があります。

<code class="typescript">@Component({
  selector: 'example',
  styles: ['.demo {background-color: blue}'],
  template: '<div [innerHTML]="someHtmlCode"></div>',
  encapsulation: ViewEncapsulation.None,
})</code>
ログイン後にコピー

カプセル化プロパティを [なし] に設定すると、Angular はインライン スタイルの適用を妨げなくなります。これにより、コンポーネントのスタイル配列内と挿入された HTML コンテンツの両方でスタイルを定義できるようになり、Angular はそれらを DOM に自動的に適用します。

以上がビューのカプセル化を使用して Angular で InnerHTML コンテンツをスタイル設定する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!