Angularjs 当用户删除值时,如何将输入值自动设置为空(而不是“未定义”)?

Angularjs 当用户删除值时,如何将输入值自动设置为空(而不是“未定义”)?,angularjs,undefined,angular-ngmodel,is-empty,Angularjs,Undefined,Angular Ngmodel,Is Empty,在Angular 1.6中,当用户删除输入中的值时,这些值设置为未定义。这似乎是AngularJS中的默认行为 HTML 控制器 如何在每次前端文本输入为空时自动将值设置为空而不是未定义?您可以在提交功能中添加此选项: $scope.name = $scope.name ? $scope.name : ""; 如果$scope.name中没有未定义的值,则将其设置为空字符串 if(!$scope.name){$scope.name="";} 另一种似乎是最好的自动方法,即使用函数检查值是否为

在Angular 1.6中,当用户删除输入中的值时,这些值设置为未定义。这似乎是AngularJS中的默认行为

HTML

控制器


如何在每次前端文本输入为空时自动将值设置为空而不是未定义?

您可以在提交功能中添加此选项:

$scope.name = $scope.name ? $scope.name : "";

如果$scope.name中没有未定义的值,则将其设置为空字符串

if(!$scope.name){$scope.name="";}

另一种似乎是最好的自动方法,即使用函数检查值是否为空、null和未定义

控制器

当用户删除输入框中的所有字符时,使用ng model options={allowInvalid:true}允许空字符串

有关详细信息,请参阅

角度。模数PP,[] .controllerctrl,函数$scope{ $scope.name=; } ng模块选项演示 name={{name===未定义?'undefined':name} name={{name==?“空字符串”:name}
$scope.name = $scope.name ? $scope.name : "";
if(!$scope.name){$scope.name="";}
$scope.isEmpty = function (value) {
   return angular.equals("", value) || angular.equals(undefined, value) || angular.equals(null, value);
};

//Usage 
$scope.submit = function(){
    if($scope.isEmpty($scope.name)) ...
};