Angular では、Material コンポーネント ライブラリを開発すると同時に、公式チームが Angular の世界で有名な CDK であるコンポーネント開発キットも開発しました。このツールキットは、フロントエンド開発に共通する多くの機能を提供します。よく知られている Angular コンポーネント ライブラリのほぼすべてがこの開発キットに依存しています。 ANT、PrimeNGなど。 この記事では主に CDK を使用し、CDK のオーバーレイ モジュールを使用してシンプルな Toast コンポーネントを実装します。 1. 環境設備cdkはAngularのデフォルトモジュールではないので、手動でインストールする必要があります app.module の cdk に OverlayModule を導入する '@angular/cdk/overlay' から OverlayModule をインポートします。 @Ngモジュール({ 宣言: [ アプリコンポーネント ]、 輸入: [ ブラウザモジュール、 オーバーレイモジュール ]、 プロバイダー: [], ブートストラップ: [AppComponent] }) クラス AppModule をエクスポートします { } 2. ToastコンポーネントとToastServiceを作成する
2.1 Toastコンポーネントとスタイルを記述するトーストコンポーネント <div class="q-toast"> <div class="q-toast-mask"></div> <p class="q-toast-msg">{{メッセージ}}</p> </div> .q-トースト{ パディング: .2rem .5rem; 幅: 5rem; 位置: 相対的; ディスプレイ: フレックス; flex-direction: 行; アイテムの位置を中央揃えにします。 コンテンツの中央揃え: 中央; .q-トーストマスク{ 位置: 絶対; 上: 0; 左: 0; 右: 0; 下部: 0; 背景色: #000; 不透明度: .8; 境界線の半径: 2rem; } .q-トーストメッセージ{ 色: 白; zインデックス: 999; } } トーストサービス '@angular/cdk/overlay' から Overlay、OverlayConfig をインポートします。 '@angular/cdk/portal' から ComponentPortal をインポートします。 '@angular/core' から { Injectable、InjectionToken、Injector } をインポートします。 './toast.component' から ToastComponent をインポートします。 @Injectable({ 提供元: 'root' }) クラス ToastService をエクスポートします。 コンストラクター(プライベートオーバーレイ: Overlay) { } 表示(メッセージ: 文字列) { 定数config = 新しいOverlayConfig(); 定数positionStrategy = this.overlay.position() .global().centerVertically().centerHorizontally(); config.positionStrategy を設定します。 overlayRef を this.overlay.create(config) とします。 const inject = Injector.create({ プロバイダー: { 提供: Toast_Ref、 使用値:オーバーレイ参照 }, { 提供: Toast_Msg、 使用値:メッセージ } ] }) console.log(inject.get<文字列>(Toast_Ref)) ComponentPortal を新しいものに置き換えます (ToastComponent、null、inject); overlayRef.attach(部分) タイムアウトを設定する(() => { オーバーレイRef.デタッチ() オーバーレイRef.dispose(); }, 2000); } } エクスポート const Toast_Ref = new InjectionToken<{}>('Toast_Ref'); エクスポート const Toast_Msg = new InjectionToken<{}>('Toast_Msg'); トーストの使用 Service を記述すると、Angular はデフォルトでそれをルート モジュールに挿入します。Toast をポップアップする必要があるコンポーネントの構築メソッドに、対応する ToastService を記述するだけで、正常に実行されます。 クラスAppComponentをエクスポートします。 コンストラクター(プライベートトースト:ToastService) { } テスト() { this.toast.Show('hello cdk!') } } GIF効果画像 Angular CDK を使用してサービス ポップアップ Toast コンポーネントを実装する方法についての記事はこれで終わりです。Angular CDK による Toast コンポーネントの実装の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linuxがすべてのコマンドをサポートしていない問題の解決策
>>: MySQL の最初のインストールが成功した後にパスワードを初期化する手順
目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...
目次1. NodeがHTTPサーバーを構築する2. HTTPサーバーがリクエストを取得する1. Po...
コードをコピーコードは次のとおりです。 html {オーバーフロー: 非表示; }体{オーバーフロー...
目次1. Dockerをインストールする2. カスタムネットワークアドレスを作成する3. Docke...
さまざまな色の16進コード表[パート1] 赤とピンク、およびそれらの 16 進コード。 #99003...
目次序文1. 準備2. 実際の戦闘2.1 ミニプログラムの権限を設定する2.2 カプセル化ツールの機...
Docker プライベートイメージライブラリDockerプライベートイメージライブラリとAlibab...
この記事では、電子商取引プラットフォームで商品の詳細を表示する一般的な例を紹介します。たとえば、ある...
目次1. はじめに2. setIntervalとsetTimeoutの違い3.タイムアウトを設定する...
Xiaobai は vmtools のインストールを記録します。 1. 意義と機能: VMWARE ...
この記事では、シームレスなカルーセル効果を実現するためのVueの具体的なコードを例として紹介します。...
1. グリッドレイアウト(グリッド): Web ページをグリッドに分割し、さまざまなグリッドを組み合...
一般的に使用される Oracle10g パーティションは、範囲 (範囲パーティション)、リスト (リ...
トリガーにより、ステートメントの実行前または実行後に他の SQL コードを実行できます。トリガーは、...
目次1. マップされた型2. マッピング修飾子3. キーの再マッピング4. さらなる探究序文: Ty...