ngrepeat、ngif和比较日期对象的各个部分
ngrepeat, ngif, and comparing parts of a date object
我正在构建一个事件列表(自学Angular),当年/月发生变化时,我试图有条件地在事件列表之间插入一个年和一个月元素。
<body ng-controller="CalendarController">
<div ng-repeat="event in events">
<div ng-if="$first || year != prevYear ">
{{event.date | date: 'yyyy'}}
</div>
<div>
{{ event.name }}
</div>
<div>
{{ event.date | date: 'shortTime'}}
</div>
</div>
</body>
这里,如果元素是第一个,它前面会有一个year元素(对于月份来说最终也是如此),或者如果上一个事件的年份与当前事件不同。
(function(){
var app = angular.module('a2Events', []);
app.controller('CalendarController', function($scope, $http) {
$http.get('../data.json')
.success(function(data, status, headers, config) {
angular.forEach(data, function(value, key) {
value['date'] = Date.parse(value['date']);
});
$scope.events = data;
})
.error(function(data, status, headers, config) {
console.log(status);
});
});
})();
在这里,我只是用一个日期对象替换日期字符串,所有这些都是从json文件中提取的。该文件只是按日期顺序列出的事件。我的假设是,我可以从日期对象中分别提取年和月(使用$index),只需使用ngif在需要的地方有条件地添加年/月元素,但我似乎无法以所需的方式访问日期对象。有人建议我做我需要的事情吗,或者有其他方法吗?
输出应该类似于:
2015年
七月
事件1
事件2
八月
事件3
事件4
2016年
一月
事件5
etc
我刚刚作弊,做了
ng-if="event.year != events[$index - 1].year"
相关文章:
- 想要使用Javascript将一个JSON对象拆分为多个JSON对象
- 如何传递具有多个网格对象的数组
- Backbone relational无法实例化两个RelationalModel对象
- 删除两个独立对象中的属性,而不使用多余的删除语句
- 想要将ng个repeat对象传递给自定义筛选函数
- 如何在几个jQuery对象上调用jQuery函数
- 为什么不显示多个HTML对象对象
- 如何使用jQuery合并两个json对象
- 如何使用 Backbone 读取通过同一 REST URL 返回的两个不同对象
- 查找与通过两次调用地理编码创建的两个 latlng 对象的距离
- 存储多个Json对象,然后对其进行排序
- 如何在Javascript中的对象数组的最后一个对象之后附加几个新对象
- php检索多个json对象数组
- 比较两个不同对象的值
- 包含多个'对象'
- 使用一个键的值数组过滤多个javascript对象
- 如何将两个json对象合并为一个json
- 正在读取多个JSON对象's文本作为每个jQuery语句
- 在1个Json对象中加载2个php变量,以便在图中使用
- 比较D3.js中的两个时间对象