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

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">

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

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

它当前所做的是在第一个div中显示日期,并将其日期显示为今天,即使该值的设置与数组中的设置不同。第二个div是完全空的

JS:

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对象,因此需要将它们转换为相同的类型,以便正确地进行比较。我将使用将今天格式化为与日期相同的字符串:

然后在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"