2017-08-25 8 views
0

私のプログラムでは、パラメータでgetを渡したいと思います。これらのパラメータの1つはnullです。しかし、私はこのプロパティをURLSearchParamsに設定すると、最終的なURLにappersがないのですか?これは可能ですか?ここで角4はパラメータとしてヌルを渡しません

私はパラメータとして渡すパラメータを持つオブジェクト:

{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 
     } 
    ) 

答えて

1

値が== nullの場合、のparamsでそれを追加しない場合.set ...

+0

if(parametry [key]!== null){// set key} – Swoox

+0

どうすればいいですか?私は通常のobjのようにそれを追加するときは意味する params ['key'] = valueそれdoes not仕事。 –

+0

私はparametrとしてnullを追加する必要があるのですか? –

0

一般的には、文字列にヌルを完全に使用しないようにすることを推奨します。代わりに 'undefined'を使用してください。

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

しかし、あなたは未定義としてparametryを渡すことになったいくつかの理由であれば、あなたはそれのいずれかのプロパティにアクセスすることができなくなりますので、この

parametry[key] 

がエラーを生成するのに対し、この

console.log(parametry) 

、それだけで「未定義の」印刷

しまうエラーを生成しません

他のコメント作成者は、未定義のパラメータを渡すことを避けるのが最善です。もしあなたがしなければならないなら、その存在が賢明であることをメソッド内でチェックしてください...

関連する問題