gpt4 book ai didi

typescript - 动态设置 HttpParams() 主体

转载 作者:行者123 更新时间:2023-12-02 11:30:49 28 4
gpt4 key购买 nike

在 Angular 5 HttpClient 中,我可以通过这种方式设置 HttpParams()。

const body = new HttpParams()
.set('email', 'test@mail.com')
.set('password', 'pass');

但是当我尝试以这种方式设置 HttpParams() 时。尚未设置这些值。

const paramsMap = new Map<any, any>();
paramsMap.set("email", "test@mail.com");
paramsMap.set("password", "pass");

paramsMap.forEach((value: any, key: any) => {
body.set(key, value);
});

为什么没有设置?我怎样才能以类似的方式做到这一点?

最佳答案

HttpParams 是不可变的,因此每次使用 set() 方法时它都会返回一个新实例。您可以通过更新引用来解决此问题:

const params = {
test: 'true'
}

let httpParams = new HttpParams();

Object.keys(params).forEach(k => {
httpParams = httpParams.set(k, params[k]);
});

console.log(httpParams.get('test'));

关于typescript - 动态设置 HttpParams() 主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50947382/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com