AngularJStextareaディレクティブ


データバインディングのあるテキストエリア:

<textarea ng-model="myTextarea"></textarea>

<p>The value of the textarea field is:</p>
<h1>{{myTextarea}}</h1>

定義と使用法

AngularJSは<textarea>要素のデフォルトの動作を変更しますが、ng-model属性が存在する場合に限ります。

これらはデータバインディングを提供します。つまり、AngularJSモデルの一部であり、AngularJS関数とDOMの両方で参照および更新できます。

それらは検証を提供します。例:属性を持つ<textarea>要素は、空である限り状態が設定さ れています。required$validfalse

また、状態制御も提供します。AngularJSは、すべてのtextarea要素の現在の状態を保持します。

Textareaフィールドには、次の状態があります。

  • $untouched フィールドはまだ触れられていません
  • $touched フィールドに触れました
  • $pristine フィールドはまだ変更されていません
  • $dirty フィールドが変更されました
  • $invalid フィールドの内容が無効です
  • $valid フィールドの内容は有効です

各状態の値はブール値を表し、のいずれかtrue ですfalse


構文

<textarea ng-model="name"></textarea>

Textarea要素は、ng-model属性の値を使用して参照されています。



CSSクラス

<textarea>AngularJSアプリケーション内の要素には、特定のクラスが与えられます。これらのクラスを使用して、状態に応じてtextarea要素のスタイルを設定できます。

次のクラスが追加されます。

  • ng-untouched フィールドはまだ触れられていません
  • ng-touched フィールドに触れました
  • ng-pristineフィールドはまだ変更されていません
  • ng-dirty フィールドが変更されました
  • ng-valid フィールドの内容は有効です
  • ng-invalid フィールドの内容が無効です
  • ng-valid-key検証ごとに1つのキー。例:ng-valid-required、検証する必要のあるものが複数ある場合に役立ちます
  • ng-invalid-key例:ng-invalid-required

クラスが表す値が。の場合、クラスは削除されますfalse

標準のCSSを使用して、有効なtextarea要素と無効なtextarea要素にスタイルを適用します。

<style>
textarea.ng-invalid {
    background-color: pink;
}
textarea.ng-valid {
    background-color: lightgreen;
}
</style>