【问题标题】:AngularJS - Show a div if date is within last six monthsAngularJS - 如果日期在过去六个月内,则显示一个 div
【发布时间】:2014-09-29 09:58:22
【问题描述】:

我有一个简单的 ng-repeat 显示名称和图标列表:

<div ng-repeat="data in MyData">
    <p>Name: {{ data.Name }}</p>
    <span class="warning-sign"></span>
</div>

如何修改它以便显示所有名称的列表,但仅显示过去 6 个月的图标?

我试过了:

$scope.Today= new Date();
$scope.SixMonths = new Date();
$scope.SixMonths .setDate($scope.SixMonths.getMonth() + 6);

我可以在我的&lt;span&gt; 上合并一个ng-show

【问题讨论】:

    标签: angularjs angularjs-scope angularjs-ng-repeat ng-show ng-hide


    【解决方案1】:

    在你的控制器中

    var now = new Date();
    $scope.sixMonthAgo = new Date().setMonth(now.getMonth() - 6);
    

    在您的模板中

    <div ng-repeat="data in MyData">
        <p>Name: {{ data.Name }}</p>
        <span class="warning-sign" ng-if="data.checkingDate > sixMonthAgo"></span>
    </div>
    

    【讨论】:

    • data.checkingDate 是从哪里来的??
    • 在您的情况下,这并不重要。您可以从another question 获得更多信息。 data.checkingDate 只是一个简单的......你有某种集合(MyData),如果你只想显示过去 6 个月的图标,你必须有对象中的某个字段,它关心日期(创建日期、注册等)。在我的示例中,我将其命名为 checkingDate
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多