私のアプリケーションでは$watch
、何かを行う前にフォームが有効かどうかを確認します。models
問題は、使用する前にngForm がコンパイルされないことです。
例: http://plnkr.co/edit/Y7dL67Fn7SaSEkjiFf2q?p=preview
JS
$scope.results = [];
$scope.$watch(function() {
return $scope.testForm.$valid;
},
function( valid ) {
$scope.results.push( valid );
}
)
HTML
<ng-form name="testForm" ng-init="test = 1">
<input ng-model="test" required>
</ng-form>
<p ng-repeat="result in results track by $index" ng-class="{'false': !result, 'true': result}">{{ result }}</p>
結果 :
false // Wrong
true
は 1 に設定されているため、最初はフォームが無効であってはなりません$scope.test
。
どんな手掛かり ?