入力フィールドが無効とマークされているときに、いくつかのアクションを実行する必要のあるディレクティブを作成しようとしています。AngularJSディレクティブウォッチの妥当性
<input type="text" ng-model="primeNumber" validate-prime invalid-add-class="error">
検証プライム用途:この例では、私は入力が素数であるかどうかを確認するディレクティブを持っていると仮定し、私はそれが無効だときの要素にクラスを追加するディレクティブを作成することができますモデルの有効性を更新するためにng-model上のパーサとフォーマッタを使用します。
無効なadd-classディレクティブは、モデルが無効なときにクラス「エラー」を追加し、モデルが有効なときに削除するようにします。つまり、モデルコントローラの$ valid(または$ invalid)プロパティを監視する必要があります。しかし、私はどのようにこれを動作させるかを理解することはできません。私が試した:
link : function(scope, element, attrs, ctrl) {
ctrl.$watch("$valid", function(newVal, oldVal) {
//never fired
});
}
おそらく、私は、スコープに、いくつかの変数を見ることができるが、私はを監視するためにどの変数かわかりません。
モデルの妥当性が変わったときにどうすれば通知できますか?あなたの入力に
あなたの指示を分かち合うことができれば、それは素晴らしいことでしょう! –
私はこれを正確に使用したことは覚えていませんが、CaioToOnの2番目の解決策はリンク機能全体が既にかなり機能していることです。有効性が変わったときに、あなたが望むどんなアクションでも、2番目の関数の本体だけを埋めなければなりません。 – Tiddo