2013-12-10 5 views

ответ

23

Вы можете позвонить $setPristine на form: http://plnkr.co/edit/wXaFXtuhNH6d4SP2uArm?p=preview

<button ng-click="reset(); form.$setPristine()">RESET</button> 
<button ng-click="update(user); form.$setPristine()">SAVE</button> 

Или вы можете вызвать метод в контроллере (после того, как обеспечить, чтобы форма существует):

$scope.update = function(user) { 
    $scope.master= angular.copy(user); 
    if ($scope.form) $scope.form.$setPristine(); 
    }; 

    $scope.reset = function() { 
    $scope.user = angular.copy($scope.master); 
    if ($scope.form) $scope.form.$setPristine(); 
    }; 

Демо: http://plnkr.co/edit/Mau7uuDfPlzcn418OdWh?p=preview

1

Я заметил, что reset() не очистит ввод электронной почты, если он не действителен. Вместо этого я использовал другой подход:

<button type="reset" ng-click="form.$setPristine()">RESET</button> 
<button ng-click="update(user); form.$setPristine()">SAVE</button> 
Смежные вопросы