3

我有确切的角度版本 4.3.2,由于依赖关系,我无法更新。所以现在我坚持这个版本。我有带有动态参数的对象(里面可以有其他键和值):

let query = {
    param1: 1,
    param2: 'a'
}

我想做类似的事情:

params = new HttpParams();
params = params.append(query);
return this.httpClient.get(this.config.apiUrl + '/items', {
            params: params,
            headers: headers
        });

但没有这样的 params.append(query) 方法。所以我需要遍历查询键并将它们一一添加到参数中。有没有更简单的解决方案?

编辑1:

根据this answer这可以从角度5.0.0-beta.6(2017-09-03)开始完成,但对我来说不是解决方案。 https://stackoverflow.com/a/46317900/1995258

4

3 回答 3

10

可以通过使用fromObject属性来完成

const params = {
    email:'abc@xyz.com',
    password:'qwerty'
}

const body = new HttpParams({fromObject: params})
于 2020-08-18T10:12:09.203 回答
3

我是这样解决的:

const params: HttpParams = new HttpParams().set('filters', JSON.stringify(filters));
于 2019-08-16T18:45:08.787 回答
0

这对我有用:

return this.httpClient.get(this.config.apiUrl + '/items', {
        params: <HttpParams>(<unknown>params),
        headers: headers
    });
于 2021-12-07T11:29:57.653 回答