以下代码是登录表单。这样我就可以在第一次重置表单字段和错误消息(成功或失败都是第一次)。第二次我无法在田野上休息。此外,登录过程也失败,并且不显示失败或成功。因为数据现在未定义,并且在控制台上它会抛出错误 415(不支持的媒体类型)。如果我删除重置部分,登录过程将正常工作。我重置时做错了什么?
在 Controller 中:
App.controller('HomeCtrl', ['$scope', 'Users', '$window', '$location', '$rootScope',
function($scope, Users, $window, $location, $rootScope) {
var original = $scope.users;
$scope.users = {};
$scope.form = {};
$scope.reset = function() {
$scope.users = angular.copy(original);
$scope.form.loginForm.$setPristine();
};
} ]);
最佳答案
我认为在您的情况下,您的用户表单字段不会重置。
将代码 $scope.users = angular.copy(original);
替换为 $scope.users = {};
否则首先使用var original = $scope.users || {} ;
如需更多帮助,请查看 here 的文档.
希望这对你有帮助!!
关于javascript - angularjs $setPrestine 工作不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47825651/