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 操作ガイド

推薦する

ウェブページでコンテンツを引用するためによく使われるHTMLタグをマスターする

長い引用には blockquote を、短い引用には q を、参考文献には cite を使用します。...

JavaScript ウェブページ入門開発詳細説明

パート3: ❤バックエンドデータ受信を見落とす3つの方法❤ (おすすめ集)パート 2: Web フォ...

MySQLのexplain型の詳細な説明

導入:多くの場合、さまざまな選択ステートメントを使用して必要なデータを照会した後、多くの人は作業が正...

Ubuntu 18.04にMySQL 5.7をインストールする

この記事は MySQL 公式サイトを参考にしてまとめたものであり、遭遇したいくつかの問題も記録されて...

XHTML 入門チュートリアル: フレーム タグの使用

<br />フレーム構造により、ブラウザの 1 ページに複数の Web ページを同時に表...

DockerでEurekaを設定する方法

ユーレカ: 1. JDKイメージを構築するEurekaコンテナを起動するjdkフォルダと必要なファイ...

mysqlは指定された期間内の統計データを取得します

mysqlは指定された期間内の統計データを取得します年別統計 選択 カウント(*)、 DATE_FO...

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...

JSはプログレスバーのスムーズバージョンの詳細な計画を実装します

進捗バーがスムーズではないフロントエンドを学ぶ学生のほとんどは、オーディオプレーヤーやビデオプレーヤ...

vue+tp5はシンプルなログイン機能を実現

この記事では、参考までに、簡単なログイン機能を実装するためのvue+tp5の具体的なコードを紹介しま...

InnoDB テーブルの BLOB 列と TEXT 列のストレージ効率を最適化します。

まず、MySQL InnoDB エンジンのストレージ形式に関する重要なポイントをいくつか紹介します。...

MySQL クエリ ステートメントのプロセスと EXPLAIN ステートメントの基本概念とその最適化

ウェブサイトやサービスのパフォーマンスは、データベースの設計(適切な言語開発フレームワークを選択した...

ウェブサイト製品設計の参考となるいくつかの原則

以下の分析は製品設計原則に関するものですが、そのほとんどはウェブサイト製品に基づいているため、ユーザ...

Apache Web サーバーを使用して 2 つ以上のサイトを構成する方法

人気があり強力な Apache Web サーバーで 2 つ以上のサイトをホストする方法。前回の記事で...

Linux ターミナルでドメイン IP アドレスを見つけるコマンド (5 つの方法)

このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...