私はAngular 1.3.0rc2を使用しており、ユーザーが入力したかのように入力フィールドをぼかして、別の入力フィールドを設定しようとしています。
設定しようとしている入力に同期バリデーターのみが存在し、デバウンスまたは非同期バリデーターが存在しない場合、次のようなことをすると、常に期待どおりに機能するように見えます。
myForm.username.$setViewValue('some value');
myForm.username.$render();
ただし、設定しようとしている入力に非同期バリデータまたはデバウンスが存在し、設定しようとしている入力が現在無効な状態にある場合、期待どおりに動作しないようです。
私は自分の問題を示すために次の plunkr を作成しました。「フルネーム」の値を設定してみて、フルネームフィールドのぼかしにも設定したいユーザー名フィールドで何が起こるかを確認してください。ユーザー名フィールドが無効な状態の場合、氏名の値を変更してからフィールドからフォーカスを削除しても、期待どおりにユーザー名が更新されません。
http://plnkr.co/edit/h1hvf79W8ovqAlNLpBvS
それで、私の質問は、ある入力フィールドを別の入力フィールドから確実に機能させ、ユーザー自身がこの新しい入力を入力したかのように動作するように設定するにはどうすればよいですか (したがって、バリデーターを実行し、それに応じてモデル値を更新します)。