![](/img/trans.png)
[英]Angular ng-repeat conditional wrap items in element (filter items in ng-repeat group)
[英]Angular group by ng-repeat filter
我正在使用這個庫: https : //github.com/a8m/angular-filter#groupby
我可以對列表項進行分組,但是我的問題有所不同,
假設這是我的數據集:
[
{name: 'foo', date: '2015-01-01'},
{name: 'bar', date: '2015-01-04'},
{name: 'bazz', date: '2015-02-22'},
{name: 'ahh', date: '2015-06-15'},
{name: 'qwe', date: '2015-06-16'},
]
我想按月和年篩選它,而圖書館卻無法滿足我的需求。
<li ng-repeat="(key,value) in items | groupBy: 'date'">
<h1><--MONTH--></h1>
<p>{{value.details}}</p>
</li>
我認為您可以將日期字符串轉換為日期部分,例如日,月和年,然后將嵌套的屬性傳遞給groupBy
過濾器。
將數據轉換為此。
[
{name: 'foo', date: {day: 1, month: 'January', year: 2015 }
{name: 'foo', date: {day: 1, month: 'February', year: 2015 }
..
..
]
您可以使用以下邏輯將日期字符串轉換為日期部分
var data = [....]
var monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
angular.forEach(data, function (d) {
d.date = new Date(d.date);
d.date = {
d: dt.getDate(),
m: monthNames[d.date.getMonth()],
y: d.date.getFullYear()
};
})
HTML
<li ng-repeat="(key,value) in items | groupBy: 'date.month'">
<h1><--MONTH--></h1>
<p>{{value.details}}</p>
</li>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.