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