如何使用ng-if在angularJS中检查空日期?
HTML源代码是
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<table>
<thead>
<tr>
<th>Name</th>
<th>D.O.B</th>
</tr>
</thead>
<tr ng-repeat="x in names>
<td>{{ x.Name }}</td>
<td><span ng-if="x.DOB != null">{{ formatDate(x.DOB) | date:'dd-MM-yyyy' }}</span></td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$scope.names = [
{ Name: 'Jani', DOB: '' },
{ Name: 'Hege', DOB: '1995-05-07' },
{ Name: 'Kai', DOB: '1995-08-24' }
];
$scope.formatDate = function (date) {
return new Date(date);
};
});
</script>
</body>
</html>
在这里,如果,我希望使用angularJS来消除日期值等于null或NaN-NaN-0NaN
在上面的源代码中,没有执行IF条件
您可以使用ng-if="x.DOB"
,因为空字符串或未定义的字符串将返回错误的
plnkr
尝试使用这个:
<td>
<span ng-if="x.DOB != ''">{{ formatDate(x.DOB) | date:'dd-MM-yyyy' }}
</span>
</td>
DOB
=";表示空字符串被分配给DOB
并且DOB=null;意味着(空)或"根本没有值"被分配给DOB
更新:
<span ng-if="x.DOB">{{ formatDate(x.DOB) | date:'dd-MM-yyyy' }}
</span>