Angular 4不能将null作为参数传递

时间:2017-08-25 10:41:05

标签: angular url-parameters

在我的程序中,我想传递get参数。其中一个参数为null。但是,当我将此属性设置为URLSearchParams时,它不会在最终的Url中出现吗?这可能吗?

这里带有参数的对象我作为参数传递:

{zpm_id:112, tow_id:null}

这是我职能的一部分:

public getDaneOkna(rodzaj: string, symbolOkna: string, parametry: any) {  
 let params = new URLSearchParams();
 Myheaders = new Headers();
 for (var key in parametry) {
      params.set(key, parametry[key]); 
    }

 return this._http.get(this.adresSerwera + '/dane/' + symbolOkna,
      {
        headers: Myheaders,
        search: params
      }
    )

2 个答案:

答案 0 :(得分:1)

如果值== null,请不要使用params.set ...

添加它

答案 1 :(得分:0)

通常建议避免在打字稿中完全使用null。请改用“undefined”。

https://basarat.gitbooks.io/typescript/docs/tips/null.html

但是如果由于某种原因你最终将参数传递为未定义,你将无法访问它的任何属性,所以这个

 parametry[key]

会产生错误,而这

 console.log(parametry)

不会产生错误,只会打印'undefined'

其他评论者最好避免传入未定义的参数。如果必须的话,检查方法内部是否存在是明智的......