日期过滤器并以angularjs显示

时间:2014-10-02 09:46:12

标签: javascript angularjs date filter

我想过滤日期并仅显示当前日期的日期并隐藏未来日期。这是我的HTML代码:

<div ng-controller="date">
        <div ng-repeat="d in dates">
            <ul>
                <div ng-show='(show==true)' ng-hide='(show==false)'><li>{{d.thisDate() | date:"mediumDate"}}</li></div>
            </ul>
        </div>
    </div>

这是我的angular.js代码:

var milo = angular.module('milo',[]);

function date($scope){

$scope.dates = [
{
    id: 0,
    thisDate: function(){
        return  new Date();
    }
},
{
    id: 1,
    thisDate: function(){
        return  new Date();
    }
},
{
    id: 2,
    thisDate: function(){
        return 141232741945463;
    }
},


];

$scope.show = function(){
    if (thisDate == new Date()){
        return true;
    }
    else if (thisDate > new Date()){
        return false;
    }
};
};


milo.controller('date', date);

先谢谢你帮助我。

1 个答案:

答案 0 :(得分:0)

你应该使用

if (thisDate <= new Date()){
    return true;
}
else if (thisDate > new Date()){
    return false;
}

因为您的日期将在t时刻定义,而show()函数将在t + 1时刻被调用...