ホームページ > ウェブフロントエンド > jsチュートリアル > Angular の :host、:host-context、::ng-deep セレクター

Angular の :host、:host-context、::ng-deep セレクター

青灯夜游
リリース: 2022-06-20 21:08:18
転載
3326 人が閲覧しました

この記事では、angular のいくつかの特別なセレクター: host、:host-context、::ng-deep について詳しく説明します。皆さんのお役に立てれば幸いです。

Angular の :host、:host-context、::ng-deep セレクター

<h2>#1. :host ##:host は、現在のコンポーネントを選択することを意味します。 [関連チュートリアルの推奨事項: "
angular チュートリアル

"]

1.1 ホスト要素を選択します使用

:host

コンポーネント host 要素 (コンポーネント テンプレート内の要素に関連) 内の要素を選択するために使用される疑似クラス セレクター。子要素がない場合、 # 全体を選択するのと同等です。 ##ホスト要素次の html がある場合:

<app-detail></app-detail>
ログイン後にコピー

コンポーネント

app-detail

のスタイル (

app-detail 全体のスタイル)次のように:

:host {
    display: inline-block;
    background: red;
}
ログイン後にコピー
BrowserElements

app-detail 要素を選択します。スタイルは次のとおりです:

[_nghost-wtd-c445] {
    display: inline-block;
    background-color: red;
}
ログイン後にコピー
ご覧のとおり、:host

ホスト要素自体に直接作用します

1.2 ホスト要素の子要素を選択します

:host

にあります。後でセレクターを追加して、

子要素 を選択します。例: :host h1 コンポーネント ビュー内に h1 タグを配置します。

:host h1 {
	color:red;
}
ログイン後にコピー

1.3 条件付きでホスト要素を選択します

これは、ホストがターゲットとして使用され、アクティブなクラスがある場合にのみ有効になります。

:host(.active){
	border-width: 3px;
}
ログイン後にコピー

次のようになります:

<app-detail class="active"></app-detail>
ログイン後にコピー

2.

:: ng-deep<h2>::ng-deep は、中間 className のネストされた階層関係を無視できます。変更したい className を直接見つけます。

一部のサードパーティ コンポーネントを使用する場合、コンポーネントのスタイルを変更する必要があります。この場合は、

2.1 ホスト要素から現在の要素に移動します。 次に、現在のコンポーネントでサードパーティ コンポーネントを使用している h3 要素を含む、DOM 内のすべての子 h3 要素に移動します。

:host ::ng-deep h3 {
  font-style: italic;
}
ログイン後にコピー

2.2特定のタイプの特定のタイプ

.card-container ::ng-deep .ant-tabs-card .ant-tabs-content {
     height: 120px;
     margin-top: -16px;
}
ログイン後にコピー
3.

:host-context<h2>特定の条件の場合スタイルを適用する前に満たす必要があります。現在のコンポーネントの host 要素

ancestor ノードからドキュメントのルート ノードまでの CSS クラスを検索します。 が見つかった場合、次のスタイルがこのコンポーネントの 内部要素に適用されます。

3.1 コンポーネントのホスト要素の要素を選択します。

:host-context {
	color:red;
}
ログイン後にコピー
3.2 ホストをターゲットにします。アクティブなクラスがある場合にのみ有効です

次の例では、先祖要素(ホスト要素も使用可能)にCSSクラスがある場合にのみ有効です

theme-light

background-color スタイルは、 このコンポーネント内の すべての <h2> 要素に適用されます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:css;toolbar:false;">:host-context(.theme-light) h2 { background-color: #eef; }</pre><div class="contentsignin">ログイン後にコピー</div></div>3.3 :host-context の後にセレクターを追加して、サブ要素を選択できます。

例: :host- context h1 コンポーネント ビューでの

h1

タグの配置 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:css;toolbar:false;">:host-context h1{ color: hotpink; }</pre><div class="contentsignin">ログイン後にコピー</div></div>3.4 は、特定のスタイルの内部条件を決定するために使用できます

h1{
    color: hotpink;

    :host-context(.active) &{
        color: yellow;
    }
}
ログイン後にコピー
プログラミング関連の知識については、プログラミング教育をご覧ください。 !

以上がAngular の :host、:host-context、::ng-deep セレクターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート