javascript - AngularJS 只在循环中显示第一个日期 div(更新数组对象)

标签 javascript angularjs

我正在尝试将 javascript 对象渲染到 Angular ~1.2.24 中的模板

只应显示第一次出现的 item.day。

示例对象:

$scope.listtrail = [{
    day: '2015-08-15',
    id: 123,
    timestamp: '2015-08-15 12:23:12'
},{
    day: '2015-08-15',
    id: 122,
    timestamp: '2015-08-15 12:43:34'
},{
    day: '2015-08-15',
    id: 121,
    timestamp: '2015-08-15 14:12:56'
},{
    day: '2015-08-14',
    id: 120,
    timestamp: '2015-08-14 11:12:09'
},{
    day: '2015-08-14',
    id: 118,
    timestamp: '2015-08-14 10:11:02'
}]

示例模板部分:

<div ng-repeat="item in listtrail">
    <div>{{item.day}}</div>
    <div>{{item.timestamp}}</div>
</div>

示例模板输出目标:

<div>
    <div>2015-08-15</div>
    <div>2015-08-15 12:23:12</div>
</div>
<div>
    <div>2015-08-15 12:43:34</div>
</div>
<div>
    <div>2015-08-15 14:12:56</div>
</div>
<div>
    <div>2015-08-14</div>
    <div>2015-08-14 11:12:09</div>
</div>
<div>
    <div>2015-08-14 10:11:02</div>
</div>

请注意,javascript 数组也会每隔几秒使用内部拼接函数(请牢记)预先设置(随着它的增长)。

最佳答案

不错的解决方案是使用 angular-filter模块。 它可以被编码为:

<div ng-app="app">
  <div ng-controller="TestCtrl">
    <div ng-repeat="(key, value) in listtrail | groupBy: 'day'">
        <div>{{ key }}</div>
        <div ng-repeat="item in value">{{item.timestamp}}</div>
    </div>
  </div>
</div>

看看JSFiddle

关于javascript - AngularJS 只在循环中显示第一个日期 div(更新数组对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32525766/

相关文章:

node.js - 你如何修改 generator-angular-fullstack 图标?

javascript - 在angularjs中编辑表单期间在选择字段中选择一个选项

javascript - Cytoscape.js - 突出显示所选节点的所有路径

javascript - ie7 没有加载我的样式表

javascript - 如何跟踪 HTML 元素的添加?

php - 如何从管理区域动态更改图像?

javascript - 来自网站上 RSS 的博主提要

jquery - 仅对某些操作执行 SetTimeout 或 $timeout

angularjs - 选项在 ng-repeat 时如何初始化选择值?

javascript - Angular Json 比较