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 の最初のインストールが成功した後にパスワードを初期化する手順
目次JDKをダウンロードしてインストールするTomcat 圧縮パッケージをダウンロードTomcatの...
目次1. 属性を追加する2. 複数のオブジェクトを結合する3. オブジェクトのプロパティを削除する4...
目次1. Commonjsのエクスポートとrequireの使用1.1 CommonJS エクスポート...
この記事の例では、コンテンツの計算を実現するためのjsドラッグアンドドロップテーブルの具体的なコード...
1. 新しいユーザーを作成します。 1. SQL ステートメントを実行して新しいものを作成します (...
この記事では、左ボタンと右ボタンをクリックすることで画像を切り替えるjQueryの具体的なコードを例...
1. 背景ボタンは非常によく使われており、Element のボタン機能は非常に包括的です。この記事で...
ngx_lua_module は、lua パーサーを nginx に埋め込み、lua 言語で記述され...
HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...
質問:私のブログのエンコーディングは utf-8 です。ページを開くと空白になっていることもあります...
<br />記事と同様に、Web ページにも明確な段落と重要度の異なるタイトルが必要です...
翻訳Kool Desktop Environment の略称。 Linux、Unix、FreeBSD...
序文この記事では、MySQL 8.0 の新機能を使用して再帰クエリを実装します。詳細なサンプル コー...
序文docker イメージを削除できません。docker docker imagesを確認すると、イ...
1. はじめに英語に慣れていない人は、システムを英語から中国語に変更したいかもしれません。一方、クラ...