angular-in-memory-web-api 中带有条件日期参数的 HTTP 请求
HTTP request with conditional date parameter in angular-in-memory-web-api
我有一个名为 members
的对象数组
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'}
]
我需要根据 出生日期 使用 HTTP 请求 angular 从这个数组中获取对象-内存网络-api,
喜欢:大于/小于任何给定日期。
那么,获取大于任何给定日期的日期的条件参数是什么?
url: api/members/?birthDate{condition}{givenDate}
简而言之 - 你不能。至少到当前写作版本 (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
我有一个名为 members
的对象数组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'}
]
我需要根据 出生日期 使用 HTTP 请求 angular 从这个数组中获取对象-内存网络-api, 喜欢:大于/小于任何给定日期。
那么,获取大于任何给定日期的日期的条件参数是什么?
url: api/members/?birthDate{condition}{givenDate}
简而言之 - 你不能。至少到当前写作版本 (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