2017-08-25 134 views
0

在我的程序中,我想通過獲取參數。其中一個參數爲null。但是當我將這個屬性設置爲URLSearchParams時,它不會在最終Url中出現?這可能嗎?角4作爲參數傳遞NULL null

這裏與參數的對象,我作爲參數傳遞:

{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,不使用參數添加它.set ...

+0

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

+0

那麼我該如何做到這一點?當我添加它像一個正常的對象我的意思是 params ['key'] =值它不工作。 –

+0

我的意思是當我必須添加null作爲parametr? –

0

它通常建議避免在打字稿中完全使用null。改用'undefined'。

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

但是,如果由於某種原因,你最終傳遞parametry爲未定義,您將無法訪問它的任何屬性,所以這

parametry[key] 

會產生一個錯誤,而這

console.log(parametry) 

會不會產生一個錯誤,它只是打印「未定義」

其他評論者正確地避免傳入未定義的參數。如果你必須,檢查方法內的存在將是明智的...