フォームの非読み取り専用入力が変更され、フォームが有効になるたびに、特定のアクションを実行したいと考えています。たとえば、私のフォームは次のようになります
<form name="form" novalidate>
<input ng-model='input.a' required/>
<input ng-model='input.b' required/>
<input value='{{output.p | number: 2}}' readonly/>
<input value='{{output.q | number: 2}}' readonly/>
</form>
が変更されると、 とが有効なinput
ときはいつでも何かをしたいと思います。試してみましたが、うまくいきませんでした。すべてのメンバーを見るとそうですが、ばかげているように感じます。すべてのフィールドに追加すると気分は良くなりますが、それでもかなりばかげています (非 DRY)。適切な方法は何ですか?input.a
input.b
$watch(input)
ng-change
もう 1 つの問題は、入力が有効かどうかを調べる方法です。ボタンがあれば簡単にできる
<button ng-click="doIt()" ng-disabled="form.$invalid">
form.$invalid
しかし、コントローラーにアクセスするにはどうすればよいですか(に含まれていません$scope
)。