【问题标题】:angularjs $setPrestine not working consistentlyangularjs $setPrestine 无法始终如一地工作
【发布时间】:2018-05-29 06:27:08
【问题描述】:

以下代码是一个登录表单。有了这个,我可以第一次重置表单字段和错误消息(成功或失败都是第一次)。第二次我无法休息表单字段。此外,登录过程也会失败,并且不会显示失败或成功。因为数据现在未定义并且在控制台上它会抛出错误 415(不支持的媒体类型)。如果我删除重置部分,登录过程正常工作。我在重置时做错了什么?

在控制器中:

 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.form.loginForm.$setValidity();重置并告诉我
  • @Santhosh 还是一样,但是我没有收到错误 415 并且什么也没发生
  • 另外添加 $scope.form.loginForm.$setUntouched() 并告诉我

标签: javascript angularjs


【解决方案1】:

我认为在您的情况下,您的用户表单字段不会被重置。

将代码 $scope.users = angular.copy(original); 替换为 $scope.users = {};

否则最初使用var original = $scope.users || {} ;

如需更多帮助,请查看文档至here

希望对你有帮助!!

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    相关资源
    最近更新 更多