我有一个Angular 12应用程序,其中我有一个对象数组,如下所示,并希望将其转换为queryParams,以便我可以路由到生成的URL。因此queryparams应该是这样的:
品牌:ABC:品牌:XYZ:尺寸:13 x18:尺寸:51 x49 x85
[{
"values": ["ABC", "XYZ"],
"show": true,
"label": "Brand",
}, {
"values": ["13 x 18", "51x49x85"],
"show": true,
"label": "Size",
}]
字符串
我试着使用它,但它没有给出预期的结果。
params = new HttpParams({fromObject:{ r:myArray }})
我错过了什么吗?
1条答案
按热度按时间13z8s7eq1#
如注解中所述,您的查询字符串无效。它应该是:
品牌=ABC&品牌=XYZ&尺寸= 13%20x%2018 &尺寸=51x49x85
HttpParamsOptions.fromObject
不支持数组。您需要重新定义数组元素并形成查询字符串。
1.从
myArray
开始迭代每个对象。1.迭代
values
数组中的每个元素,并将其与键(label
)合并组合。您应该对值进行编码。将每个元素与&
合并。1.用
&
连接每个元素。字符串