我在angular 6中使用了httpparams,我有一个问题。
当我将Httpparams与set一起使用时,set
函数是在Constructor之后调用的,还是被称为变量名的。
funtionTest(): any{
let params: HttpParams = new HttpParams()
.set('one','one')
.set('two','two')
.set('thr','thr');
... some request
}
funtionTest2(): any{
let params: HttpParams = new HttpParams();
params.set('one','one');
params.set('two','two');
params.set('thr','thr');
... some request
}
如果我叫functionTest()
,则one
two
thr
描述查询字符串
ex)requestUrl?one=one&two=two&thr=thr
;
但是,如果我叫functionTest2()
,则未显示任何信息。我认为一个〜thr查询字符串已插入正文。
那有什么区别?
答案 0 :(得分:0)
HttpParams是不可变的:这意味着您无需修改它,而是每次都返回一个新对象。
第一个功能可以翻译为
funtionTest(): any{
let params: HttpParams = new HttpParams();
params = params.set('one','one');
params = params.set('two','two');
params = params.set('three','three');
...
}
这就是第二个函数不起作用的原因:您没有将返回值分配给任何东西。
要知道这一点,只需使用Ctrl +单击!检查set
函数的签名即可。