【问题标题】:NgRepeat, group by multiple datesNgRepeat,按多个日期分组
【发布时间】:2015-03-02 15:02:01
【问题描述】:

我有以下收藏:

[
 {
  "_id": "54efdd4a70726f7af1030000",
  "sequence_name": "Do Stuff",
  "calendar": [
   "2015-02-28T09:00:00.000Z",
   "2015-02-28T18:00:00.000Z",
   "2015-03-01T03:00:00.000Z"
  ]
 }
]

我需要这样分组:

{
 "2015-02-28T09:00:00.000Z": [
  {
   "_id": "54efdd4a70726f7af1030000",
   "sequence_name": "Do Stuff",
  }
 ],
 "2015-02-28T18:00:00.000Z": [
  {
   "_id": "54efdd4a70726f7af1030000",
   "sequence_name": "Do Stuff"
  }
  ]
  // key/values keep going for each ...
}

这样我就可以(希望)像这样显示数据:

<div ng-repeat='(date, scheds) in prettyDates'>
    <h6>{{ date | date: 'd MMM'  }}</h6>
    <div>{{ date | date: 'hh:mma' }}</div>
  <div ng-repeat='s in scheds'>
    <div class='event-time'>{{ s.start_time | date: 'h a' }}</div>
    <div class='event-title'>{{ s.sequence_name }}</div>
  </div>
</div>

当有多个要分组的项目或组将有重复的条目时,Angular 是否有办法进行 groupBy?

【问题讨论】:

  • 该问题中的用户未按日期集合进行分组。它们仅按一个可能的值进行分组。我要做的是按一组值而不是单个属性进行分组。这个答案对我的情况没有帮助。

标签: javascript angularjs angularjs-scope angularjs-ng-repeat angular-filters


【解决方案1】:

我不认为 angularJs 有这样的东西。一种选择是使用 lodash 或类似的库在控制器中进行分组,然后循环遍历结果。

在 lodash 中查看 groupBy 的文档: https://lodash.com/docs#groupBy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多