AngularJS ng-repeat 带过滤器,用于大于数组中日期的日期

标签 angularjs filter angularjs-ng-repeat

我找了很多地方,但似乎找不到我要找的东西。这可能很简单,但我对 Angular 比较陌生,似乎无法弄清楚。

ng-repeat 工作正常,但我想过滤掉某些值。

我有一个包含 ng-repeat through data 的页面(请参阅下面的数据对象),并且我只想包含当前日期 > 数组(日期)中的项目值的页面。

     vm.newsItems= [
       {
           ID: '1',
           date: '5/12/2016',
           newsTitle: 'This is news story header 1',
           newsText: 'This is news Story Text 1.  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
       },
       {
           ID: '2',
           date: '5/30/2016',
           newsTitle: 'This is news story header 2',
           newsText: 'This is news Story Text 2.  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
       }

页面代码:

    <div class="box effect8" ng-repeat="newsItem in vm.newsItems">
                <h3>{{newsItem.newsTitle}}</h3>
                {{newsItem.newsText}}
            </div>

最佳答案

尝试使用 filter $filter 添加谓词用于过滤掉项目:

newsItem in vm.newsItems | filter: getItemsFromThePast()

vm.getItemsFromThePast =  function(item) {
  var today = new Date();
  return item.date < today;
}

我在这里假设两件事:

  • 当前日期意味着 new Date()
  • 特性date您的元素中有 是真实的 Date对象,如果它们是日期格式的字符串,则必须将它们转换为 Date对象优先

关于AngularJS ng-repeat 带过滤器,用于大于数组中日期的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37484331/

相关文章:

c# - Angularjs - 在表格上保存默认日期?

javascript - Angular 1.4.8 导致 ngOptions "group by"在 IE 11 中结果加倍

python - "Sensibly"删除 Python 列表中的点

javascript - 为什么验证 ng-class 不起作用?

javascript - Angular : Change String to variable

python - 选择 Python pandas 中的所有行

primefaces - 如何在更新 PrimeFaces 数据表时保留过滤器和当前页面

javascript - 在 Angular 中,在两个不同的指令之间传递匹配的 $index

javascript - angularjs $parse 字符串到 "controller as"方法

javascript - 使用 ng-repeat 创建 DOM 属性