我想比较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);