【问题标题】:date fiilter and display in angular.js日期过滤器并在 angularjs 中显示
【发布时间】:2014-10-02 09:46:12
【问题描述】:

我想过滤日期并仅显示当前日期并隐藏未来日期。这是我的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);

提前感谢您帮助我。

【问题讨论】:

  • 谢谢,我会记住这一点,但现在它对我没有帮助:/

标签: javascript angularjs date filter


【解决方案1】:

你应该使用

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

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

【讨论】:

  • 您好,我对代码做了一点改动,并将其上传到了 jsfiddle.net。这是-jsfiddle.net/adeling/Tb9j5/21。一旦我使用 ng-show 指令,一切都消失了。
猜你喜欢
  • 2013-08-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-22
  • 2014-11-27
  • 2017-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多