如何使用 ng-if 实现检查 angularJS 中的空日期?

how to Implement to check for null Date in angularJS using ng-if?

如何使用 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>

这里我希望消除日期值等于 nullNaN-NaN-0NaN 使用 angularJS ng-if

在上面的源代码中没有执行 IF 条件

试试这个:

<td>
 <span ng-if="x.DOB != ''">{{ formatDate(x.DOB) |  date:'dd-MM-yyyy' }}
</span>
</td>

DOB = " ";意味着空字符串被分配给 DOB 并且 DOB = null;表示将 (null) 或 "no value at all" 分配给 DOB

更新:

<span ng-if="x.DOB">{{ formatDate(x.DOB) |  date:'dd-MM-yyyy' }}
    </span>

您可以使用 ng-if="x.DOB" 因为空字符串或未定义将 return false

plnkr