特定のクラス(たとえば.ng-invalid
)で更新される要素を監視する必要があるディレクティブを作成しています。ご存知のように、無効なフォーム要素には.ng-invalid
が追加されています。
クラスが追加または削除されたかどうかを判断するには、これらの要素を監視する必要があります。
どうすればこの問題を解決できますか?あなたの目的は、FormControllerの$invalid
属性を監視するために、事前
特定のクラス(たとえば.ng-invalid
)で更新される要素を監視する必要があるディレクティブを作成しています。ご存知のように、無効なフォーム要素には.ng-invalid
が追加されています。
クラスが追加または削除されたかどうかを判断するには、これらの要素を監視する必要があります。
どうすればこの問題を解決できますか?あなたの目的は、FormControllerの$invalid
属性を監視するために、事前
あなたは$(".ng-invalid")
の長さ取得する機能を見ることができ$:
scope.$watch(function() {
return $(".ng-invalid").length;
}, function (newVal, oldVal) {
if(newVal !== oldVal) {
console.log('changed!', newVal, oldVal);
// do your changes here
}
})
Fiddleを。フィドルでは、最初にinput
にng-minlength="2"
を追加しました。そのフィールドに2文字を入力して、$ watchトリガーを表示します。
で
おかげで、それは十分だろうか?これは、例えば、フォームの全体的な無効状態への変更を通知します:
// Somewhere in your directive; formCtrl is the FormController
scope.$watch(function() {
return formCtrl.$invalid;
}, function(isInvalid, wasInvalid) {
// ...
});
これは私の要求には十分ではありません:-( – Abilash
あなたのコードをフィドルまたはプランナーのデモと共有することができます –
私の要件のためのダミーフィドルです。 http://jsfiddle.net/aW7FD/ – Abilash