以此形式为例http://plnkr.co/edit/fHEBw6dDdG3IVgnmCLb7?p=preview
在按下$pristine
按钮后,如何将表单的SAVE DRAFT
状态设置为true?
答案 0 :(得分:23)
您可以在form
:$setPristine
<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();
};
答案 1 :(得分:1)
我注意到reset()
除非有效,否则不会清除电子邮件输入。
我尝试了另一种方法:
<button type="reset" ng-click="form.$setPristine()">RESET</button>
<button ng-click="update(user); form.$setPristine()">SAVE</button>