如何在AngularJS中重置多个表单?

时间:2017-07-19 12:52:31

标签: angularjs angularjs-scope

需要重置多个表单的字段。 我可以使用以下代码逐个重置表单:

$scope.form1.$setPristine();
$scope.form2.$setPristine();
$scope.form3.$setPristine();

有没有办法在不使用循环的情况下立即重置所有表格?

1 个答案:

答案 0 :(得分:0)

我会研究ng-form。

将form1,form2和form3作为父窗体(formParent)的嵌套形式,调用$ scope.formParent。$ setPristine()使其级联到所有嵌套窗体。

HTML:

<form name='formParent' novalidate>
  <ng-form name='form1'>
    <input name='input1' />
  </ng-form>
  <ng-form name='form2'>
    <input name='input2' />
  </ng-form>
</form>

控制器:

app.controller('MyController',['$scope',function($scope) {

  activate();

  function activate(){
     $scope.formParent.$setPristine()
  }

}]);