Angular 4.3 - HttpClient 设置参数 [英] Angular 4.3 - HttpClient set params

查看:30
本文介绍了Angular 4.3 - HttpClient 设置参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

let httpParams = new HttpParams().set('aaa', '111');httpParams.set('bbb', '222');

为什么这不起作用?它只设置 'aaa' 而不是 'bbb'

另外,我有一个对象 { aaa: 111, bbb: 222 }如何在不循环的情况下设置所有值?

UPDATE(这似乎有效,但如何避免循环?)

let httpParams = new HttpParams();Object.keys(data).forEach(function (key) {httpParams = httpParams.append(key, data[key]);});

解决方案

5.0.0-beta.6 之前

let httpParams = new HttpParams();Object.keys(data).forEach(function (key) {httpParams = httpParams.append(key, data[key]);});

从 5.0.0-beta.6 开始

<块引用>

自 5.0.0-beta.6 (2017-09-03) 起,他们添加了新功能(接受 HttpClient 标头和参数的对象映射)

往前,可以直接传递对象而不是HttpParams.

getCountries(data: any) {//我们不再需要这些行//让 httpParams = new HttpParams();//Object.keys(data).forEach(function (key) {//httpParams = httpParams.append(key, data[key]);//});返回 this.httpClient.get("/api/countries", {params: data})}

let httpParams = new HttpParams().set('aaa', '111');
httpParams.set('bbb', '222');

Why this doesn't work? It only set the 'aaa' and NOT the 'bbb'

Also, I have an object { aaa: 111, bbb: 222 } How can I set all the values without looping?

UPDATE (this seems to work, but how can avoid the loop?)

let httpParams = new HttpParams();
Object.keys(data).forEach(function (key) {
     httpParams = httpParams.append(key, data[key]);
});

解决方案

Before 5.0.0-beta.6

let httpParams = new HttpParams();
Object.keys(data).forEach(function (key) {
     httpParams = httpParams.append(key, data[key]);
});

Since 5.0.0-beta.6

Since 5.0.0-beta.6 (2017-09-03) they added new feature (accept object map for HttpClient headers & params)

Going forward the object can be passed directly instead of HttpParams.

getCountries(data: any) {
    // We don't need any more these lines
    // let httpParams = new HttpParams();
    // Object.keys(data).forEach(function (key) {
    //     httpParams = httpParams.append(key, data[key]);
    // });

    return this.httpClient.get("/api/countries", {params: data})
}

这篇关于Angular 4.3 - HttpClient 设置参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆