Reset Form

Ao clicar no reset ele seta o formulário para seu estado atual

by Diogo Soares

HTML

<body ng-app="myApp">
  <div ng-controller="Controller as ctrl">
    <form name="ctrl.usuarios">
      nome: <input type="text" ng-model="ctrl.form.nome"/>
      idade: <input type="text" ng-model="ctrl.form.idade"/>
      <button ng-click="ctrl.salvar(ctrl.form)">Salvar</button>
      <button ng-click="ctrl.reset()" ng-disabled="!ctrl.isFormChanged()">Reset</button>
    </form>
  </div>
</body>

JavaScript

var myapp = angular.module('myApp', []);
myapp.controller('Controller', Controller);

function Controller(){
	var vm = this;
  
  
  var formulario = angular.copy(vm.form);
  
  vm.salvar = function(form){
  	console.log(form.nome, form.idade);
  }
  
  vm.reset = function(){
  	vm.form = angular.copy(formulario);
    vm.usuarios.$setPristine();    
  }
  
  vm.isFormChanged = function ()
    {
      return !angular.equals(vm.form, formulario);
    };
}