vm.bookDetails = {}; and vm.bookForm.$setPristine
?
angular.module('controllers',[])
.controller('SecondController', function(dataSvc){
var vm=this;
vm.saveData = function () {
dataSvc.save(vm.bookDetails).then(function(result) {
vm.bookDetails = {};
vm.bookForm.$setPristine();
});
};
vm.numberPattern = /^\d*$/;
});
代码来自here
答案 0 :(得分:1)
ng-dirty类告诉您表单已被用户修改,而ng-pristine类告诉您表单尚未被用户修改。因此,ng-dirty和ng-pristine是同一个故事的两个方面。
类在任何字段上设置,而表单有两个属性,$ dirty和$ pristine。
$ setPristine表示
将表单设置为其原始状态。
此方法将表单的$ pristine状态设置为true,即$ dirty状态 为false,删除ng-dirty类并添加ng-pristine类。 此外,它将$ submitted状态设置为false。
您可以使用$ scope.form。$ setPristine()函数将表单重置为pristine状态。 $ setPristine()是在angularjs的1.1.x分支中引入的
代码说明
angular.module('controllers',[])
.controller('SecondController', function(dataSvc){
var vm=this;
vm.saveData = function () {
dataSvc.save(vm.bookDetails).then(function(result) {
// This code will reset the form/clear value of all ngmodel
vm.bookDetails = {};
// This code will set the validity of the form to invalid state, submitted cannot be made if pristine is set.
vm.bookForm.$setPristine();
});
};
vm.numberPattern = /^\d*$/;
});