Javascript 如果日期是今天,则AngularJS显示在div中,否则显示在其他div中
我的想法是在数组中有几个项,它们有标题、公司和日期值。然后以div和ng repeat显示这些内容 我想要的是,如果日期值是今天的日期,它们将显示在第一个div中,如果日期值不是今天,则显示在另一个div中。理想情况下,我会在今天、昨天、上周等时间将它们分开 它当前所做的是在第一个div中显示日期,并将其日期显示为今天,即使该值的设置与数组中的设置不同。第二个div是完全空的 JS: HTML的结构如下所示:Javascript 如果日期是今天,则AngularJS显示在div中,否则显示在其他div中,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我的想法是在数组中有几个项,它们有标题、公司和日期值。然后以div和ng repeat显示这些内容 我想要的是,如果日期值是今天的日期,它们将显示在第一个div中,如果日期值不是今天,则显示在另一个div中。理想情况下,我会在今天、昨天、上周等时间将它们分开 它当前所做的是在第一个div中显示日期,并将其日期显示为今天,即使该值的设置与数组中的设置不同。第二个div是完全空的 JS: HTML的结构如下所示: <body ng-controller="boardController">
<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对象,因此需要将它们转换为相同的类型,以便正确地进行比较。我将使用将今天格式化为与日期相同的字符串:
然后在HTML中有note==比较运算符
ng-if="post.Date === today"
由于Date是一个字符串,而today是Date对象,因此需要将它们转换为相同的类型,以便正确地进行比较。我将使用将今天格式化为与日期相同的字符串:
然后在HTML中有note==比较运算符
ng-if="post.Date === today"
=是赋值,==和===是比较运算符。@elclars更改后,第一个分区或第二个分区中根本没有显示任何内容。我相信今天的日期不能小于过去的任何其他日期。=是赋值,==和===是比较运算符。@elclars更改后,在第一部或第二部中什么都没有出现。我相信今天的日期不会比过去任何一个日期都少。太棒了!这和我的想法一模一样。如果您不介意我问一下,您将如何使第二个div显示日期比今天早,但不超过一周?post.Date>今天应该也适用于我发布的内容。但是您将如何设置例如$scope.dayed?我正在尝试$scope.dayed=$filter'date'new date.setDate$scope.today.getDate-1'yyyy-MM-dd';但这似乎不起作用。您需要有一个日期对象才能获取日期。看看我制作的这个演示:太棒了。非常感谢,太棒了!这和我的想法一模一样。如果您不介意我问一下,您将如何使第二个div显示日期比今天早,但不超过一周?post.Date>今天应该也适用于我发布的内容。但是您将如何设置例如$scope.dayed?我正在尝试$scope.dayed=$filter'date'new date.setDate$scope.today.getDate-1'yyyy-MM-dd';但这似乎不起作用。您需要有一个日期对象才能获取日期。看看我制作的这个演示:太棒了。非常感谢你。
ng-if="post.Date === today"