我有一组名为成员
的对象members = [
{id:'1', firstName:'John', lastName:'Black', birthDate:'1956-11-22', gender:'Male', email:'johnblack@gmail.com', phone:'806-555-1234'}
{id:'2', firstName:'Josh', lastName:'Black', birthDate:'1950-02-21', gender:'Male', email:'joshblack@gmail.com', phone:'806-555-1234'}
{id:'3', firstName:'Johny', lastName:'Black', birthDate:'1953-02-03', gender:'Male', email:'johnyblack@gmail.com', phone:'806-555-1234'}
]
我需要使用 birth-in-memory-web-api 的 HTTP请求,根据 birthDate 从此数组中获取对象, 喜欢:大于/小于任何给定日期。
那么,什么条件参数可以获得比任何给定日期更大的日期?
url: api/members/?birthDate{condition}{givenDate}
答案 0 :(得分:1)
简而言之 - 你做不到。至少到当前写作版本(0.6.0)
您可以尝试使用正则表达式,但正则表达式不适用于值比较(特别是对于日期格式)。为什么要这么麻烦?您将仅在模拟时使用angular-in-memory-web-api,因此只需过滤服务中返回的数据集,如下所示:
getMembers(value?: string): Observable<Member[]> {
return this.http.get("api/members")
.map((response:Response) => {
let members= <Member[]>response.json().data;
if (!value) {
return members;
}
return members.filter(v => v.birthDate<=value);
})
.do(data => console.log('members: ' + JSON.stringify(data)))
}
注意,我们可以将它比作字符串,因为你的YYYY-mm-dd格式,否则value和birthDate应该是类型Date