我有一个来自 API 的结果的项目列表。 在我看来,我呈现了这种结果和 ng-repeat 。
new Vue({
el: '#app',
data: () => ({
active: 0,
listData:{
"A" : [
{
"text":"Lorem iPsum",
"type" : "a1",
},
{
"text":"Ipsum Lorem iPsum",
"type" : "a1",
},
{
"text":"Lorem",
"type" : "a1",
},
{
"text":"B1 text i.",
"type" : "b1",
},
{
"text":"b2 text i2",
"type" : "b1",
},
{
"text":"c1 text i.",
"type" : "c1",
},
{
"text":"c2 text i2",
"type" : "c1",
},
]
}
})
})
这是我的 API 回复。
<div ng-repeat="item in items"></div>
我需要按日期进行过滤,即,如果这些商品的展示时间超过3个月。
答案 0 :(得分:0)
假设其为数组:
let items = ["2017-01-17T09:35:38.429Z",
"2017-01-03T10:00:00.000Z",
"2017-01-27T14:34:55.179Z"]
执行此操作
let threeMonthsAgo = new Date(Date.now() - 7776000000)
items = items.filter(date => { threeMonthsAgo.before( (new Date(date)) ) })
答案 1 :(得分:0)
您将根据自己的状况显示该商品,在这种情况下,该商品的年龄不得超过3个月。
<div ng-repeat="item in items">
<div ng-if="!isOlderThan3Months(item)">item</div>
</div>
function isOlderThan3Months(date){
return new Date().getTime() - new Date(date).getTime() > 1000 /*ms*/ * 60/*s*/ * 60/*min*/ * 24/*h*/ * 30/*days*/ * 3/*months*/ )
}
condition
可以调用一个函数来计算日期之间的差。在here中查找多种实现方法。