比较angular js表达式中的两个日期并执行ng隐藏



我想比较Angular JS表达式中的两个日期字符串

HTML

<body ng-controller="app">
<div>{{Today}}</div>
<div>{{ItemDate}}</div>
<div>{{ItemDate<Today}}</div>
</body>

编写脚本

angular.module('app', [])
.controller('app', controller);
function controller($scope){
$scope.ItemDate="2018-07-16T14:23:57.566Z";
$scope.Today= new Date();
}

如果{{ItemDate<Today}},我正在尝试隐藏

Plunkr Link

角度表达式具有此功能吗?我想在不更改脚本部分的情况下完成此操作。

在模板中包含这样的逻辑不是一个好主意。您可以在JS代码plnkr链接中比较日期

$scope.ItemDate="2018-07-16T14:23:57.566Z";
$scope.Today= new Date();
$scope.hideDate = (new Date($scope.ItemDate) - $scope.Today < 0);

尝试在ng-hide中添加您的表达式:

<div ng-hide="{{(ItemDate|date)<(Today|date)}}">{{ItemDate}}</div>

这将用表达式隐藏div。

正如Martin所说,小心在模板中使用这些逻辑。

编辑:

很抱歉出现上述错误,它并不适用于测试的日期。下面是一个工作示例,遵循Martin的思路,在html:中添加ng-hide

html:

<div>{{Today}}</div>    
<div>{{ItemDate}}</div> 
<div ng-hide="CompareDate">{{ItemDate}}</div>

脚本:

$scope.ItemDate="2018-07-16T16:23:57.566Z";
$scope.Today= new Date();
$scope.CompareDate = (new Date($scope.ItemDate) < $scope.Today);

最新更新