AngularパイプラインPIPEの紹介と使い方

AngularパイプラインPIPEの紹介と使い方

序文

PIPE、パイプラインと翻訳されます。 Angular パイプは、HTML コンポーネントで宣言できる表示値の変換を記述する方法です。 Angular パイプは、以前は AngularJS ではフィルターと呼ばれていましたが、Angular 2 以降ではパイプと呼ばれるようになりました。パイプラインはデータを入力として受け取り、それを目的の出力に変換します。

Angular Pipes は、整数、文字列、配列、日付を | で区切って入力し、必要な形式に変換してブラウザーに表示します。補間式では、パイプを定義して、必要に応じて使用することができます。Angular アプリケーションで使用できるパイプには多くの種類があります。

組み込みパイプライン

  • 文字列 -> 文字列
    • 大文字パイプ
    • 小文字パイプ
    • タイトルケースパイプ
  • 数値 -> 文字列
    • 小数パイプ
    • パーセントパイプ
    • 通貨パイプ
  • オブジェクト -> 文字列
    • JsonPipe
    • 日付パイプ
  • ツール
    • スライスパイプ
    • 非同期パイプ
    • I18n複数パイプ
    • I18n選択パイプ

使い方

大文字変換

<div>
  <p ngNonBindable>{{ 'Angular' | 大文字 }}</p>
  <p>{{ 'Angular' | 大文字 }}</p> <!-- 出力: ANGULAR -->
</div>

日付の書式設定

<div>
  <p ngNonBindable>{{ 今日 | 日付: 'shortTime' }}</p>
  <p>{{ today | date: 'shortTime' }}</p> <!-- 出力: 現在の時刻に基づき、出力形式は 10:40 AM -->
</div>

数値の書式設定

<div>
  <p ngNonBindable>{{ 3.14159265 | 数値: '1.4-4' }}</p>
  <p>{{ 3.14159265 | 数値: '1.4-4' }}</p> <!-- 出力: 3.1416 -->
</div>

JavaScript オブジェクトのシリアル化

<div>
  <p ngNonBindable>{{ { name: 'semlinker' } | json }}</p>
  <p>{{ { name: 'semlinker' } | json }}</p> <!-- 出力: { "name": "semlinker" } -->
</div>

パイプラインパラメータ

パイプラインは、パイプライン名の後に : とパラメータ値を追加することで、任意の数のパラメータを受け入れることができます。たとえば、number: '1.4-4' です。複数のパラメータを渡す必要がある場合は、コロンで区切ります。具体的な例は次のとおりです。

<div>
  <p ngNonBindable>{{ 'semlinker' | スライス:0:3 }}</p>
  <p>{{ 'semlinker' | slice:0:3 }}</p> <!-- 出力: sem -->
</div>

パイプラインチェーン

<div>
  <p ngNonBindable>{{ 'semlinker' | スライス:0:3 | 大文字 }}</p>
  <p>{{ 'semlinker' | スライス:0:3 | 大文字 }}</p>
</div>

カスタムパイプライン

以下では、以前のプロジェクトで使用したパイプラインを例として、パイプラインをカスタマイズする手順を説明します。

  • @Pipeデコレータを使用して、パイプの名前(つまり、名前属性)などのパイプのメタデータ情報を定義します。
  • PipeTransformインターフェースで定義された変換メソッドを実装する

意味

"@angular/core" から Pipe、PipeTransform をインポートします。

@Pipe({ 名前: "formatError" })
エクスポートクラス FormatErrorPipe は PipeTransform を実装します {
    コンストラクタ() {}

    変換(値: 任意、モジュール: 文字列) {
        if (値.コード) {
            戻り値.desc;
        } それ以外 {
            戻り値.メッセージ;
        }
    }
}

使用

<div *ngIf="エラーメッセージ">
    <div class="message-box error mb-16" [@animate]="{value:'*',params:{opacity:'0',duration:'200ms'}}">
        {{errorMessage.error | formatError:"auth"}}
    </div>
</div>

要約する

Angular パイプ PIPE に関するこの記事はこれで終わりです。Angular パイプ PIPE に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Angular2のパイプの使い方
  • Angular2 パイプライン パイプとカスタム パイプライン形式のデータ使用例の分析

<<:  Windows 2008 Server サブドメインを親ドメインに追加すると、ドメインが既に存在するというエラー メッセージが表示されます。

>>:  MySQL 5.7 における基本的な JSON 操作ガイド

推薦する

JavaScript タイマーの種類の概要

目次1.setInterval() 2.タイムアウトを設定する() 1.setInterval()指...

JavaScriptはフォームデータの非同期送信を実装します

この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考ま...

サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

目次画像をプルするイメージを実行する(コンテナを生成する)コンテナを起動するコンテナに入るすべてのミ...

CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策

まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...

初心者でもjsのtypeofとinstanceofの違いを理解できます

目次1. 型2. インスタンス3. 違い1. 型typeof 演算子は、評価されていないオペランドの...

Vue+Springbootでインターフェースシグネチャを実装するためのサンプルコード

1. 実装のアイデアインターフェース署名の目的は、リクエストパラメータが改ざんされていないか、リクエ...

TomcatはXMLを解析し、リフレクションを通じてオブジェクトを作成します。

次のサンプル コードでは、Tomcat が XML を解析し、リフレクションを通じてオブジェクトを作...

HTMLのposition属性の使い方(4種類)の詳しい説明

位置の 4 つのプロパティ値は次のとおりです。 1.相対的な2.絶対3.修正4.静的これら 4 つの...

データベースインデックスの知識ポイントの概要

目次ファーストルックインデックスインデックスの概念インデックスファイルの構成インデックスの役割SQL...

Firefox の CSS を使用してデータを盗む

0x00 はじめに数か月前、Firefox に脆弱性 (CVE-2019-17016) があること...

Vue3 プロジェクトで WeChat 認証ログインをエレガントに実装する方法

目次序文準備する実装のアイデアコードについて要約する序文WeChat 認証ログインは、WeChat ...

Windows で nginx を素早くインストールし、自動的に起動するように設定する

目次1. Windows システムでの Nginx のインストールと起動プロセス: 2. 起動時にN...

Node.js組み込みモジュールの詳細な説明

目次概要1. パスモジュール2. モジュールまで3. fsモジュール4. イベントモジュール5. h...

W3C チュートリアル (13): W3C WSDL アクティビティ

Web サービスは、アプリケーション間の通信に関係します。 WSDL は、XML ベースの Web ...

Linux で起動時にプログラムを自動的に実行させる最も簡単な方法

たくさん集めましたが、すべて失敗に終わりました。最終的に、この方法は優れており、使用に影響を与えない...