Предполагая данную форму, такую как <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
на каждом входе?