javascript - angularjs $setPrestine 工作不一致

标签 javascript angularjs

以下代码是登录表单。这样我就可以在第一次重置表单字段和错误消息(成功或失败都是第一次)。第二次我无法在田野上休息。此外,登录过程也失败,并且不显示失败或成功。因为数据现在未定义,并且在控制台上它会抛出错误 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/

相关文章:

javascript - 从网站中删除除 X 之外的所有元素

javascript - JavaScript 中的作用域链和 [[Scope]]

javascript - Spring Boot WRo4j 需要重新启动应用程序才能看到 javascript 更改

javascript - ng-repeat 隐藏重复项

javascript - AngularJS ngRepeat :dupes

javascript - 在 Controller 中调用模态函数 - AngularJS

javascript - jquery 获取前一个值而不是当前值

javascript - 语法错误。无法在 php 文件中嵌入 html 代码和 javascript 操作

AngularJs:在 View 模板中有下划线/Lodash/_

ruby-on-rails - AngularJS ng-submit 在 Rails 生成的表单上失败