フィールドが空のときにユーザーがフォームを送信しようとすると、フィールドを赤でハイライトしたいとします。だから私はshowErrors
ブール値をtrueに設定して送信し、条件付きでこの値に基づいてフィールドを要求しますng-required='showErrors'
。角度、関数から戻る前にダイジェストサイクルが完了するまで待ちますか?
isValid
関数を定義して、showErrors
の値を伝播できるようにダイジェストサイクルをトリガする関数を定義しますが、関数は私が望むように動作しません。フィールドが空の場合、サブミット・ボタンを最初にクリックすると、isValid
がtrueを返し、それ以降のクリックでfalse
が返されますが、フィールドが空の場合は常にfalse
を返します。
isValid
関数を有効にする前に、ダイジェストサイクルが伝播するのを待つようにするにはどうすればよいですか?個人的な経験から
https://plnkr.co/edit/wH6HfawquHJwR69AUPRI
ダイジェストサイクルを呼び出すカスタム関数が本当に必要な場合は、わかりません。 Angularは、モデルの変更が検出されたときにダイジェストサイクルを実行します。 'showErrors = true'を設定した後のDoc" https://docs.angularjs.org/api/ng/directive/ngRequired " – Amit
から、私の最初の' $ scope.myform。$ valid'の呼び出しは、入力フィールド空白です(モデルに変更がない可能性があります) – ab11
この場合、コントローラーの読み込み時に "showErrors"の値をtrueに初期化するだけで、現在はfalseに設定されています。 – Amit