Javascript 获取空输入长度时AngularJS抛出错误

Javascript 获取空输入长度时AngularJS抛出错误,javascript,angularjs,Javascript,Angularjs,我目前正在尝试使用AngularJS验证一张卡。这可以正常工作,直到用户从输入字段中删除所有输入的数据,然后抛出以下错误: angular.js:11004 undefined is not an object (evaluating '$scope.card.length') 我的HTML代码: <input type="text" class='form-control' id='card' ng-model="card" ng-change="validateCard()" req

我目前正在尝试使用AngularJS验证一张卡。这可以正常工作,直到用户从输入字段中删除所有输入的数据,然后抛出以下错误:

angular.js:11004 undefined is not an object (evaluating '$scope.card.length')
我的HTML代码:

<input type="text" class='form-control' id='card' ng-model="card" ng-change="validateCard()" required>

但它没有帮助。

这是因为您不能计算未定义的
值的长度。您可以使用以下内容:

if ($scope.card && $scope.card.length) { }

您可以使用&&condition检查两者

$scope.validateCard = function() {
   if ($scope.card && $scope.card.length) { 
}

只需检查您的项目是否已定义:

if (angular.isDefined($scope.card) && $scope.card.length) { }

$scope.card
也可能是未定义的<代码>如果($scope.card&&$scope.card.length)
可能?
如果($scope.card&&$scope.card.length).
$scope.validateCard = function() {
   if ($scope.card && $scope.card.length) { 
}
if (angular.isDefined($scope.card) && $scope.card.length) { }