繁体   English   中英

将查询参数连接为字符串 - Angular- Typescript

[英]Concatenate Query Params as string - Angular- Typescript

我正在尝试将我拥有的所有查询参数字符串连接到一个包含所有参数的最终查询中,但我一直得到这个结果:

_filter=0=((startDate=ge=2019-09-30T22:00:00.000Z);(endDate=le=2019-10- 
03T22:00:00.000Z));1= 
(category=eq=Warning,category=eq=Error);&_limit=50&_sort=asc

烦人的 0=, 1=, 2=, ....

预期的结果是这样的:

_filter=((startDate=ge=2019-10-06T12:39:05.000Z;endDate=le=2019-10- 
07T23:59:59.999Z);(category=eq=ALERT,category=eq=META))"

这是我的代码:

generateQueryString(obj: any) {
     let query = [];
     if (obj.startDate && obj.endDate) {
       query = query.concat(this.buildDateQueryString(obj.startDate, obj.endDate)
      );
     }
     if (obj.category) {
       query = query.concat(this.buildCategoryQueryString(obj.category));
     } 
    return query;
  }
  1. 让我们假设您要传递一些数据,例如
const userData = {
    firstName: 'Arpit',
    lastName: 'Patel'
}
  1. 您可以像这样将这个 object 传递到查询参数中。
this.router.navigate(['/dashboard/details'], { queryParams: { user: JSON.stringify(userData) } });
  1. 然后在下一个组件中提取此 Object,如下所示。
this.route.queryParams.subscribe(params => {
      const user= JSON.parse(params.user);
      console.log(user);
});
  1. 这将导致 JSON object。 您可以直接访问它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM