21

入力は次のとおりです。

<input type="text" ng-model="repair.test"  ng-change="action()" />

action()手動で入力して入力を変更すると、これが実行されます。ただし、プログラムで他の関数によってrepair.testの値を変更すると、ng-changeのアクションが起動しません。angular チュートリアルを読みましたが、おそらく予想される動作です。

https://docs.angularjs.org/api/ng/directive/ngChange

「値の変更がモデルからのものである場合、式は評価されません。」<-これも必要です。モデルが何らかの方法で変更された場合、コントローラーでアクションを起動するにはどうすればよいですか? (入力またはその他の機能による入力)

助けてくれてありがとう。

編集:

モデル値は実際にはform.$validであり、その周りに独自の Form コントローラーがあります (私はそう思います)。そのため、アクション関数を使用して値を親コントローラーに渡そうとしました。その$scope.$watchため、現時点では機能しません。初期化されている場合のみです。

4

4 に答える 4