Допуская данную форму, такие как <form name="myForm">
, это достаточно легко, чтобы посмотреть на действительность, ошибки, грязное состояние и т.д., используя простые часы:Часы модели формы для изменения
$scope.$watch('myForm.$valid', function() {
console.log('form is valid? ', $scope.myForm.$valid);
});
Однако, там не появляется быть простым способом посмотреть, изменился ли какой-либо ввод данных в этой форме. Глубокое наблюдение, как это так, не работает:
$scope.$watch('myForm', function() {
console.log('an input has changed'); //this will never fire
}, true);
$watchCollection
идет только один уровень, который означает, что я должен был бы создать новые часы для каждого входа. Не идеально.
Что является элегантным способом просмотра формы для внесения изменений на любом входе без необходимости использования нескольких часов или размещения ng-change
на каждом входе?
Возможный дубликат [AngularJS 1.3 - \ 'ng-change \' -like функциональность для всей формы] (http://stackoverflow.com/questions/28677638/angularjs-1-3-ng-change-like- функциональность для всей формы) – DTing
Решение по этому вопросу работает, но это не то, что я имел в виду (то есть не изящный, так как для его работы требуется размытие). В идеале я бы хотел, чтобы это работало аналогично тому, как угловой внутри задает форму $ valid или $ error сразу после того, как дочерний вход изменится соответствующим образом. – Duncan