這里沒有問題。我有一個子組件,按下按鈕后,它將一個表單字段傳遞給父組件。我必須將此字段作為查詢參數傳遞給API GET /valuation/
,該API GET /valuation/
需要或多或少的20個可選參數,其中名稱與輸入字段不同。
我在父函數accept中創建了一個臨時對象res
,我在其中迭代該字段。我仍然不知道如何在對象res
內傳遞這個參數,使用多個if
是臟代碼。
例如,父組件中的函數
accept(form:any){
const req: any = {};
if(form.name)
req.user = form.name
if(form.address)
req.clusterAddress = form.address
... and so on x 20 times
this.requestService.getRequest(req).subscribe(
(response) => {
this.getRequest(response);
}, (error) => {
console.error(error);
}
}
正如您所看到的,這不是一個可行的選項,我可以使用什么來獲取查詢參數名稱?
您可以使用映射來存儲有關表單中的哪個屬性映射到
res
對象上的哪個屬性的信息,然后遍歷鍵,檢查是否存在值并分配: