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 の最初のインストールが成功した後にパスワードを初期化する手順
Vim は Linux でよく使用されるテキスト エディターです。 Vim は、Sublime や ...
目次Tomcat クラスローダー階層WebAppクラスローダー共有クラスローダーカタリナクラスローダ...
序文フロントエンド開発では、目的のコンテンツを取得するためにループをトラバースする必要がある状況に頻...
公式ウェブサイトアドレス: https://www.mysql.com/インストールの提案: インス...
コンテナと呼ばれるものは、実際には親イメージに基づいて読み取りおよび書き込み可能なファイル階層を作成...
Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...
以前、カスタム関数を使用して MySQL でツリー構造を再帰的にクエリする方法についての記事を書きま...
1. 機能: 親コンポーネントが子コンポーネントの指定された位置に HTML 構造を挿入できるように...
この記事では、例を使用して、MySQL ストアド プロシージャにおけるカーソル (DECLARE) ...
bgcolor="テキストの色" background="背景画像&q...
目次1. はじめに2. 本文2.1 および演算子2.2 または演算子2.3 オペレーター2.4 no...
目次質問1. webpack webpack-cliをインストールする2. webpackのバージョ...
背景色と透明度の設定上記のように、最初の画像の場合は、灰色の背景と左上隅に白い「カバー」という文字を...
Mysql-connector-java ドライバのバージョンの問題私のデータベースのバージョンは ...
序文MySQL では、server-id を使用してデータベース インスタンスを一意に識別し、それを...