1. ホーム
  2. angular

[解決済み] AngularのINPUT要素でngModel内のパイプを使用する

2022-04-22 13:24:38

質問

HTMLのINPUTフィールドを持っています。

<input 
    [(ngModel)]="item.value" 
    name="inputField" 
    type="text" 
/>

で、その値をフォーマットして、既存のパイプを使いたいのです。

.... 
[(ngModel)]="item.value | useMyPipeToFormatThatValue" 
....

というエラーメッセージが表示されます。

アクション式にパイプを入れることはできません

この状況でパイプを使用するにはどうしたらよいですか?

どのように解決するのですか?

を使用することはできません。 テンプレート式演算子 (パイプ、ナビゲータ保存)をテンプレート文内で使用します。

(ngModelChange)="Template statements"

<ストライク (ngModelChange)="item.value | useMyPipeToFormatThatValue=$event".Item.Value | useMyPipeToFormatThatValue=$event"

https://angular.io/guide/template-syntax#template-statements

テンプレート式と同様に、テンプレート文は以下のような言語を使用します。 はJavaScriptに似ています。テンプレート・ステートメント・パーサーは テンプレート式パーサーは、特に基本的な 代入 (=) と連鎖式 (; や ,) があります。

ただし、特定のJavaScript構文 は許可されません。 :

  • 新しい
  • インクリメントとデクリメント演算子、++と--。
  • 演算子の代入(+=、-=など
  • ビット演算子|と&amp。
  • テンプレート式演算子

ということは、次のように書けばいいんですね。

<input [ngModel]="item.value | useMyPipeToFormatThatValue" 
      (ngModelChange)="item.value=$event" name="inputField" type="text" />

プランカーの例