gpt4 book ai didi

javascript - 如果日期是今天,AngularJS 在 div 中显示,否则在其他 div 中显示

转载 作者:行者123 更新时间:2023-11-30 09:48:07 25 4
gpt4 key购买 nike

想法是我的数组中有几个项目,它们有标题、公司和日期值。然后将这些显示在带有 ng-repeat 的 div 中。

我想要的是,如果日期值是今天的日期,它们显示在第一个 div 中,如果日期值不是今天,则显示在不同的 div 中。 (理想情况下,我会在今天、昨天、上周等时间将它们分开)

它目前所做的是在第一个 div 中显示日期并将日期显示为今天,即使值没有像数组中那样设置。第二个 div 完全是空的。

JS:

var app = angular.module("myApp", []);

app.controller("boardController", function($scope) {
$scope.today= new Date();
$scope.posts = [
{
"Title" : "Alfreds Futterkiste",
"Company" : "Microsoft",
"Date" : "2016-06-19",

},{
"Title" : "Berglunds snabbköp",
"Company" : "IBM",
"Date" : "2016-06-18",
},{
"Title" : "Centro comercial Moctezuma",
"Company" : "MexaTel",
"Date" : "2016-06-03",
},{
"Title" : "Ernst Handel",
"Company" : "BlaBlaCar",
"Date" : "2016-06-11",
}
]
});

HTML 的结构如下:

<body ng-controller="boardController">
<!-- Products Container -->
<div class="col-xs-12 col-md-8 col-md-offset-2">
<!-- Product Container -->
<h2>Today</h2>
<div class="list-group-item" ng-repeat="post in posts">
<div ng-if="post.Date = today">
<h3>
{{post.Title}}
</h3>
<h5>
{{post.Date | date : 'EEE MMM d'}}
</h5>
</div>
</div>
<h2>Yesterday</h2>
<div class="list-group-item" ng-repeat="post in posts">
<div ng-if="post.Date > today">
<h3>
{{post.Title}}
</h3>
<h5>
{{post.Date | date : 'EEE MMM d'}}
</h5>
</div>
</div>
</div>
</body>

最佳答案

由于 Date 是一个字符串而 today 是 Date 对象,您需要将它们转换为相同的类型以便正确比较。我会用 date filtertoday 格式化为与 Date 相同的字符串:

app.controller("boardController", function($scope, $filter) {
$scope.today = $filter('date')(new Date(), 'yyyy-MM-dd');
// ...
});

然后在 HTML 中你会有(注意 === 比较运算符)

ng-if="post.Date === today"

关于javascript - 如果日期是今天,AngularJS 在 div 中显示,否则在其他 div 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37905304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com