この記事では、Angular の構造ディレクティブ パターンについて説明し、構造ディレクティブとは何か、その使用方法を紹介します。お役に立てば幸いです。
フロントエンド (vue) マスタリーコースへのエントリー: ラーニングに入る
Angular
には 2 種類のディレクティブがあります。属性ディレクティブは、 DOM
要素の外観または動作を変更します。構造ディレクティブは、 DOM
要素を追加または削除します。
構造ディレクティブはAngular
の最も強力な機能の 1 つですが、よく誤解されています。
構造ディレクティブについて学ぶことに興味がある場合は、構造ディレクティブが何であるか、何に使用されるか、プロジェクトでどのように使用するかを読み進めてみましょう。 【おすすめ関連チュートリアル:「angularチュートリアル」】
この記事では、 Angular
構造ディレクティブ パターンについて学びます。それらが何であるか、そしてそれらをどのように使用するかがわかります。
この記事を読んだ後は、これらの手順をより深く理解し、実際のプロジェクトで使用できるようになります。
Angular
構造ディレクティブはDOM
の構造を変更できるディレクティブです。これらの命令添加、移除或者替换元素
できます。構造ディレクティブには、名前の前に*
記号が付いています。
Angular
には、3 つの標準構造化ディレクティブがあります。
*ngIf
- 式によって返されたブール値に基づいてテンプレートを条件付きで含めます (つまり、テンプレートの条件付きレンダリング)
*ngFor
- 配列を反復処理します
*ngSwitch
- 一致する各グラフをレンダリングします。
以下は構造化されたディレクティブの例です。構文は次のようになります。
<要素 ng-if="条件"></要素>
条件文はtrue
またはfalse
である必要があります。
<div *ngIf="worker" class="name">{{worker.name}}</div>
Angular
<ng-template>
要素を生成し、 *ngIf
ディレクティブを適用します。これにより、 [ngIf]
などの角括弧[]
内のプロパティ バインディングに変換されます。クラス名を含む<div>
の残りの部分は、 <ng-template>
に挿入されます。例えば:
<ng-template [ngIf]="ワーカー"> <div class="name">{{worker.name}}</div> </ng-template>
構造ディレクティブを使用するには、 HTML
テンプレートにディレクティブを持つ要素を追加する必要があります。次に、ディレクティブで設定した条件または式に基づいて要素を追加、削除、または置換します。
簡単なHTML
コードを追加してみましょう。
app.component.html
ファイルの内容は次のとおりです。
<div style="text-align:center"> <h1> いらっしゃいませ </h1> </div> <h2> <アプリのイラスト></アプリのイラスト></h2>
*ngIf
ディレクティブの使用方法*ngIf
使用して、条件に基づいて要素を表示するか削除するかを決定します。 ngIf
はif-else
に非常に似ています。
*ngIf
ディレクティブは、式がfalse
の場合にHTML
要素を削除します。 true
の場合、要素のコピーがDOM
に追加されます。
完全な*ngIf
コードは次のとおりです。
<h1> <button (click)="toggleOn =!toggleOn">ng-if の図</button> </h1> <div *ngIf="!toggleOn"> <h2>こんにちは</h2> <p>おはようございます。表示するにはボタンをクリックしてください</p> </div> <時間> <p>今日は月曜日です。これは気分を良くするためのダミーのテキスト要素です。</p> <p>else 句を含む ngIf ディレクティブを理解する</p>
*ngFor
ディレクティブの使用方法*ngFor
ディレクティブを使用して配列を反復処理します。例えば:
<ul> <li *ngFor="従業員の中華鍋を作ろう">{{ 中華鍋 }}</li> </ul>
コンポーネントのTypeScript
ファイル:
import { Component, OnInit } から '@angular/core'; @成分({ セレクター: 'アプリのイラスト', templateUrl: './illustrations.component.html', styleUrls: ['./illustrations.component.css'] }) エクスポート クラス IllustrationsComponent は OnInit {を実装します。 労働者: 任意 = [ 「作業者 1」、 「ワーカー 2」、 「ワーカー 3」、 「ワーカー 4」、 「ワーカー 5」、 】 コンストラクター() { } ngOnInit(): void { } }
*ngSwitch
ディレクティブの使用方法翻訳者が追加: このコマンドは実際の開発で非常に役立ちます
ngSwitch
使用して、さまざまな条件ステートメントに基づいてどの要素をレンダリングするかを決定します。 *ngSwitch
ディレクティブは、使用するswitch
ステートメントと非常によく似ています。例えば:
<div [ngSwitch]="マイショッピング"> <p *ngSwitchCase="'cups'">カップ</p> <p *ngSwitchCase="'veg'">野菜</p> <p *ngSwitchCase="'clothes'">ズボン</p> <p *ngSwitchDefault>マイ ショッピング</p> </div>
typescript
の場合:
マイショッピング: 文字列 = '';
MyShopping
変数にはデフォルト値があり、条件を満たすモジュール内の特定の要素をレンダリングするために使用されます。
条件値がtrue
の場合、関連する要素がDOM
にレンダリングされ、残りの要素は無視されます。一致する要素がない場合は、 *ngSwitchDefault
要素がDOM
にレンダリングされます。
DOM
に要素を追加または削除する場合は、構造ディレクティブを使用する必要があります。 もちろん、これらを使用して要素のCSS
スタイルを変更したり、イベント リスナーを追加したりすることもできます。それらを使用して、以前は存在しなかった新しい要素を作成することもできます。
最良のルールは、 DOM の操作を考えているときは、構造ディレクティブを使用するということです。
構造ディレクティブはAngular
の重要な部分であり、さまざまな方法で使用できます。
この記事を通じて、読者がこれらの命令の使用方法とこれらのモードをいつ使用するかをよりよく理解できることを願っています。